支持C ++ 11的Qt5.1项目 - 链接外部库

时间:2013-06-22 14:48:20

标签: qt c++11 linker linker-errors

我有一个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库的编译标志?

2 个答案:

答案 0 :(得分:1)

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

./configure CXXFLAGS="-stdlib=libc++" 
            LDFLAGS="-stdlib=libc++" 
            CC=/usr/bin/clang 
            CXX=/usr/local/clang++

答案 1 :(得分:0)

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