我正在尝试使用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无法识别的标记。
答案 0 :(得分:1)
Clang默认情况下是针对libc++
(https://libcxx.llvm.org/docs/UsingLibcxx.html)而非libstdc++
进行链接,而代码似乎是针对LDFLAGS="-stdlib=libstdc++"
构建的。添加bodyParser()
可以解决问题。