Domanda

Oggigiorno ho riscontrato uno strano problema di collegamento quando provo a utilizzare libsndfile su iOS:

Ho compilato libsndfile su MACOSX 10.6.8 e ha superato tutti i controlli.Ma quando l'ho aggiunto a Xcode e ho provato a compilarlo su iOS, ho ricevuto questi avvisi ed errori di collegamento:

ld: warning: in /Users/chencyz/Desktop/Development/SDK/libsndfile/lib/libsndfile.a, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
  "_sf_close", referenced from:
      SndfileHandle::SNDFILE_ref::~SNDFILE_ref()in AudioReader.o
  "_sf_error", referenced from:
      SndfileHandle::error() const in AudioReader.o
  "_sf_open", referenced from:
      SndfileHandle::SndfileHandle(char const*, int, int, int, int)in AudioReader.o
  "_sf_read_float", referenced from:
      SndfileHandle::read(float*, long long)in AudioReader.o
ld: symbol(s) not found

AudioReader è solo una semplice classe che utilizza l'API del programma libsndfile.

Qualcuno ne sa qualcosa?

È stato utile?

Soluzione

Sembra che tu non abbia ricompilato la libreria per iOS, sembra che tu stia cercando di collegarti alla versione i386 della libreria.La prima riga del messaggio di errore che hai incollato è abbastanza chiara.

iOS gira su processori ARM, quindi è necessario creare la libreria per ARM.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top