2016-07-18 10 views
1

私はiemアプリにDicomファイルビューアとしてImebraライブラリを埋め込みました。しかし、私はImebraライブラリを "cmake --build"でビルドしました。 「cmakeのインストール...」の後に、コマンドラインで、エラーは以下のiOS DicomライブラリImebraコンパイルエラー

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

として出てきた誰かがそれで私を助けることができますか?

+0

Macがすでにたlibiconvライブラリを持っている、と私は、BREWを使用して、それを再インストールしますが、エラーが再び出てきました。 – YLei

+0

このビルドは私にとっても失敗します。 libiconvのマストのパスがプロジェクトに追加されると私は思う。 –

+0

@johnelemansご返信ありがとうございます。 ImebraライブラリをAPPに埋め込みましたか? – YLei

答えて

0

cmakeファイルではiconvライブラリがデフォルトで選択されていません。明示のiconvを指定するcmakeのを起動してみてください。

Cmake -DIMEBRA_CHARSET_CONVERSION=ICONV 

UPDATE

CMakeLists.txtのバグは、ライブラリのバージョン4.0.5.3で修正されています。

基本的には、Linuxのiconvに明示的にリンクするとビルドが失敗しますが、OS-Xではその逆です。解像度は、OS-Xでビルドを実行するときにiconvに明示的にリンクすることで構成されていました。

+0

こんにちはパオロ、返事ありがとうございます。私は cmakeの-DIMEBRA_CHARSET_CONVERSION = ICONV ../imebra_4_0_0_4/libraryと cmakeのの--buildを実行した後。 私はまだ同じエラーがあります。私はそれを怒鳴ってコンパイルしましたか? 多くのおかげで – YLei

+0

http://stackoverflow.com/questions/4546484/iconv-routines-get-translated-to-libiconv-names-and-fail-to-link-on-os-x問題を解決することができます –

関連する問題