2016-07-18 20 views
1

Ich habe versucht, die Imebra-Bibliothek als Dicom-Datei-Viewer in meiner iOS-App einbetten. Aber als ich die Imebra-Bibliothek über "cmake --build" gebaut habe. auf der Kommandozeile nach „installieren Cmake ...“, kam Fehler wie die folgendeniOS Dicom-Bibliothek Imebra Compiling Fehler

aus

Undefined symbols for architecture x86_64: "_iconv", referenced from: imebra::charsetConversionIconv::myIconv(void*, char*, unsigned long) const in charsetConversionIconvImpl.cpp.o "_iconv_close", referenced from: imebra::charsetConversionIconv::~charsetConversionIconv() in charsetConversionIconvImpl.cpp.o "_iconv_open", referenced from: imebra::charsetConversionIconv::charsetConversionIconv(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in charsetConversionIconvImpl.cpp.o

mir jemand dabei helfen kann?

+0

Mac hat bereits die libiconv-Bibliothek, und ich installiere es erneut mit Brew, aber der Fehler kam wieder heraus. – YLei

+0

dieser Build scheitert auch für mich. Der Pfad zum libiconv-Mast sollte also zum Projekt hinzugefügt werden, denke ich. –

+0

@johnelemans Danke für Ihre Antwort. Haben Sie die Imebra-Bibliothek erfolgreich in Ihrer APP eingebettet? – YLei

Antwort

0

Die cmake-Datei gibt die iconv-Bibliothek nicht an, wenn sie sie standardmäßig auswählt. Versuchen Sie Cmake starten explizite Angabe iconv:

Cmake -DIMEBRA_CHARSET_CONVERSION=ICONV 

UPDATE

Ein Fehler in der CMakeLists.txt in Version 4.0.5.3 der Bibliothek wurde behoben.

Grundsätzlich führt die explizite Verknüpfung mit iconv unter Linux dazu, dass der Build fehlschlägt, während OS-X das Gegenteil trifft. Die Lösung bestand darin, beim Ausführen des Builds auf OS-X explizit auf iconv zu verweisen.

+0

Hallo Paolo, danke für die Antwort. Nachdem ich ausgeführt habe cmake -DIMEBRA_CHARSET_CONVERSION = ICONV ../imebra_4_0_0_4/library UND cmake --build. Ich habe immer noch den gleichen Fehler. Habe ich es kompiliert? Vielen Dank – YLei

+0

http://stackoverflow.com/questions/4546484/iconv-routines-get-translated-to-libiconv-names-and-fail-to-link-on-os-x kann das Problem lösen –