Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt5.1带有C+的项目+;11支持-链接外部库_Qt_C++11_Linker_Linker Errors - Fatal编程技术网

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

Qt5.1带有C+的项目+;11支持-链接外部库,qt,c++11,linker,linker-errors,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

我有一个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)
      ...
架构x86_64的未定义符号: “std::basic_stringbuf::str()const”,引用自: libdcmdata.a(dcdicdir.o)中的DcmDicomDir::getDataset() libdcmdata.a(dcdicdir.o)中的DcmDicomDir::getDirRecSeq(DcmDataset&) ...
我使用的是C++11特性,因此我的Qt
project.pro
有以下内容:
CONFIG+=C++11
。链接错误来自哪里?是DCMKT链接到不同的C++库吗?是否需要更改DCMTK库的编译标志?

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

结果证明这是一项微不足道的任务-将DCMTK配置为使用clang和libc++:

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