我试图将Imebra库用作Dicom文件查看器嵌入到我的iOS应用程序中。但是当我通过“cmake --build”构建Imebra库时。在“cmake install ...”之后的命令行上,错误如下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
有人可以帮我吗?
最佳答案
默认情况下,cmake文件未选择iconv库。尝试启动明确指定iconv的cmake:
Cmake -DIMEBRA_CHARSET_CONVERSION=ICONV
更新
该库的版本4.0.5.3中已修复CMakeLists.txt中的错误。
基本上,虽然在Linux上显式链接到iconv会导致构建失败,但在OS-X上则相反。解决方案包括在OS-X上运行构建时显式链接到iconv。
关于ios - 如何使用CMake for iOS构建Imebra库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38444368/