我尝试在我的iOS应用中嵌入使用Imebra库作为Dicom文件查看器。但是当我通过" 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
有人可以帮我吗?
答案 0 :(得分:0)
默认情况下,cmake文件在选择时不指定iconv库。尝试启动明确指定iconv的cmake:
Cmake -DIMEBRA_CHARSET_CONVERSION=ICONV
更新
CMakeLists.txt中的错误已在版本4.0.5.3中修复。
基本上,虽然在Linux上显式链接到iconv导致构建失败,但在OS-X上则相反。解决方案包括在OS-X上运行构建时显式链接到iconv。
答案 1 :(得分:0)
我刚刚成功安装了它,没有任何错误。这就是我所做的...
遵循imebra编译文档(而非gui)上提供的命令行说明。 如果您在cmake命令中遇到错误(由于未被识别为有效命令),则必须安装 CMake命令行工具。
这是一个教程:https://www.youtube.com/watch?v=sK4sVg4SRsg
要为iPhone模拟器生成一个库,请键入以下内容(将imebra_location替换为Imebra的路径):
mkdir imebra_for_ios
cd imebra_for_ios
cmake imebra_location -DIOS=SIMULATOR
cmake --build
要为iPhone生成库,请键入以下内容(将imebra_location替换为Imebra的路径):
mkdir imebra_for_ios
cd imebra_for_ios
cmake imebra_location -DIOS=IPHONE
cmake --build