将 clang 构建的可执行文件与 g++-v6 构建的 boost 库链接的错误
Posted
技术标签:
【中文标题】将 clang 构建的可执行文件与 g++-v6 构建的 boost 库链接的错误【英文标题】:errors linking clang-built executable with g++-v6-built boost library 【发布时间】:2017-03-24 15:48:20 【问题描述】:我在 Fedora Linux 上使用 g++ 6.3.1 版自己构建了一个 boost 正则表达式库。
然后我有自己的使用 boost 正则表达式的库,使用 clang++ 4.0 作为共享对象构建。 构建这个工作正常。
最后我有一个链接到我的库的可执行文件,这会产生以下错误:
undefined reference to `boost::re_detail::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
仅使用 g++ 构建和链接才能正常工作。
这可以用 clang++ 的一些命令行参数来解决吗?
【问题讨论】:
【参考方案1】:由于似乎没有人对此有解决方案,我第二次编译了 boost ./b2 工具集=clang 现在我的问题都解决了。
【讨论】:
以上是关于将 clang 构建的可执行文件与 g++-v6 构建的 boost 库链接的错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 Clang 编译的可执行文件中的 emscripten
gdb 7.5.1 调试通过 g 4.7.2 构建的可执行文件的问题