【问题标题】:Undefined reference to std::condition_variable::notify_one GLIBCXX_3.4.11对 std::condition_variable::notify_one GLIBCXX_3.4.11 的未定义引用
【发布时间】:2018-02-20 02:13:59
【问题描述】:

我正在尝试使用 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 无法识别的标志。

【问题讨论】:

    标签: linker clang


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-29
      相关资源
      最近更新 更多