0

我有一个 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 功能,所以我的 Qtproject.pro有这个:CONFIG += c++11. 链接错误来自哪里?DCMKT 是否链接到不同的 C++ 库?我需要更改 DCMTK 库的编译标志吗?

4

2 回答 2

1

原来是一项微不足道的任务 - 配置 DCMTK 以使用 clang 和 libc++:

./configure CXXFLAGS="-stdlib=libc++" 
            LDFLAGS="-stdlib=libc++" 
            CC=/usr/bin/clang 
            CXX=/usr/local/clang++
于 2013-06-23T23:15:58.880 回答
0

是的,您必须重建 DMCTK。祝你好运,因为我发现这项任务几乎是不可能的。

于 2013-06-23T12:09:01.690 回答