我正在尝试C++使用 LLVM/Clang 3.7.0 构建一个简单的(“hello world”)程序,该程序是根据工具链的源代码构建的libc++,使用命令行:
clang++ -std=c++14 -stdlib=libc++ -fno-exceptions hello.cpp\nRun 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[...]\nRun Code Online (Sandbox Code Playgroud)\n\n未LD_LIBRARY_PATH设置,工具链的安装目录已添加到我的工作中PATH中:
export PATH=$PATH:/bulk/workbench/llvm/3.7.0/toolchain4/bin/\nRun Code Online (Sandbox Code Playgroud)\n\n我上线了Ubuntu GNU/Linux 14.04,并且尚未从任何存储库安装任何 LLVM 或 Clang 相关的软件包。
根据libc++ 文档:
\n\n\n在 Linux 上,libc++ 通常只能与 \xe2\x80\x98-stdlib=libc++\xe2\x80\x99 一起使用。然而,某些 libc++ 安装需要用户自己手动链接 libc++abi。如果在使用 …