对std :: condition_variable :: notify_one GLIBCXX_3.4.11的未定义引用

时间:2018-02-20 02:13:59

标签: linker clang

我正在尝试使用Clang而不是默认GCC构建和链接库,我收到以下链接器错误:

/usr/bin/ld: build/temp.linux-x86_64-3.6/torch/csrc/autograd/engine.o: undefined reference to symbol '_ZNSt18condition_variable10notify_oneEv@@GLIBCXX_3.4.11'

我的命令是:

CC="clang-5.0" CXX="clang++-5.0"  LDSHARED="clang -shared" python setup.py install

删除LDSHARED解决了问题,但我需要与clang建立链接,因为在完整示例CFLAGS中包含GCC无法识别的标记。

1 个答案:

答案 0 :(得分:1)

Clang默认情况下是针对libc++https://libcxx.llvm.org/docs/UsingLibcxx.html)而非libstdc++进行链接,而代码似乎是针对LDFLAGS="-stdlib=libstdc++"构建的。添加bodyParser()可以解决问题。