相关疑难解决方法(0)

通过 cmake 链接 libc++ 时 libc++abi 的链接问题

我正在尝试C++使用 LLVM/Clang 3.7.0 构建一个简单的(“hello world”)程序,该程序是根据工具链的源代码构建的libc++,使用命令行:

\n\n
clang++ -std=c++14 -stdlib=libc++ -fno-exceptions hello.cpp\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,我收到以下错误:

\n\n
/usr/bin/ld: warning: libc++abi.so.1, needed by /bulk/workbench/llvm/3.7.0\n/toolchain4/bin/../lib/libc++.so, not found (try using -rpath or -rpath-link)\n/bulk/workbench/llvm/3.7.0/toolchain4/bin/../lib/libc++.so: undefined reference to `__cxa_rethrow_primary_exception\'\n/bulk/workbench/llvm/3.7.0/toolchain4/bin/../lib/libc++.so: undefined reference to `__cxa_decrement_exception_refcount\'\n/bulk/workbench/llvm/3.7.0/toolchain4/bin/../lib/libc++.so: undefined reference to `std::out_of_range::~out_of_range()\'\n[...]\n
Run Code Online (Sandbox Code Playgroud)\n\n

LD_LIBRARY_PATH设置工具链的安装目录已添加到我的工作中PATH中:

\n\n
export PATH=$PATH:/bulk/workbench/llvm/3.7.0/toolchain4/bin/\n
Run Code Online (Sandbox Code Playgroud)\n\n

我上线了Ubuntu GNU/Linux 14.04,并且尚未从任何存储库安装任何 LLVM 或 Clang 相关的软件包。

\n\n

根据libc++ 文档

\n\n
\n

在 Linux 上,libc++ 通常只能与 \xe2\x80\x98-stdlib=libc++\xe2\x80\x99 一起使用。然而,某些 libc++ 安装需要用户自己手动链接 libc++abi。如果在使用 …

linker abi llvm clang libc++

6
推荐指数
0
解决办法
2365
查看次数

标签 统计

abi ×1

clang ×1

libc++ ×1

linker ×1

llvm ×1