我有一个Qt5.1项目,它也链接到外部库 - DCMTK。我看到很多来自这个外部库的链接错误:
Undefined symbols for architecture x86_64:
"std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
DcmDicomDir::getDataset() in libdcmdata.a(dcdicdir.o)
DcmDicomDir::getDirRecSeq(DcmDataset&) in libdcmdata.a(dcdicdir.o)
...
我正在使用C ++ 11功能,所以我的Qt project.pro
有这个:CONFIG += c++11
。链接错误来自哪里?是DCMKT链接不同的C ++库吗?我是否需要更改DCMTK库的编译标志?
答案 0 :(得分:1)
原来是一项微不足道的任务 - 配置DCMTK以使用clang和libc ++:
./configure CXXFLAGS="-stdlib=libc++"
LDFLAGS="-stdlib=libc++"
CC=/usr/bin/clang
CXX=/usr/local/clang++
答案 1 :(得分:0)
是的,你必须重建DMCTK。祝你好运,因为我发现任务几乎不可能。