clang链接错误:DSO丢失

时间:2015-11-24 09:09:42

标签: c++11 compiler-errors linker clang++

我试图从我的实验室编译一个项目,我使用ccmake从原始代码中改变的唯一内容是:

  CMAKE_CXX_COMPILER /usr/bin/clang++
  CMAKE_CXX_FLAGS -fPIC -std=c++11
  CMAKE_EXE_LINKER_FLAGS -stdlib=libc++ 

该项目还依赖于我使用相同选项编译的另一个库。编译工作得很好,但链接在某些方面失败并给我们

 /usr/bin/ld: main.cpp.o: undefined reference to symbol '_ZNSsC1EOSs@@GLIBCXX_3.4.14'
 /usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing from command line

代码正在另一台机器上编译,但由于某些原因,我们无法在此系统上进行编译。我们尝试了许多没有成功的事情。

1 个答案:

答案 0 :(得分:4)

  

main.cpp.o: undefined reference to symbol '_ZNSsC1EOSs@@GLIBCXX_3.4.14'

编译时应在链接中使用-stdlib=libc++。我怀疑将其添加到CMAKE_CXX_FLAGS将解决问题。