C++ 静态链接libc++;叮当声
我试图使用Clang静态链接Linux中的标准库libc++()(Arch使用这个AUR) 我得到错误C++ 静态链接libc++;叮当声,c++,linux,c++11,clang++,libc++,C++,Linux,C++11,Clang++,Libc++,我试图使用Clang静态链接Linux中的标准库libc++()(Arch使用这个AUR) 我得到错误/usr/bin/ld:找不到-lc++ 该错误与代码无关,甚至出现在“Hello World”中 如果我删除-static选项,它将编译(和链接)并生成可执行文件 我不想使用libstdc++(我有我的理由不想在这里集中讨论),链接必须是静态的(这是一个要求) 我非常清楚,如果不访问发生这种情况的机器,就很难调试这种东西。然而,它发生在两台不同的机器上(都有Arch),所以可能是我忘记了什么
/usr/bin/ld:找不到-lc++
该错误与代码无关,甚至出现在“Hello World”中
如果我删除-static
选项,它将编译(和链接)并生成可执行文件
我不想使用libstdc++(我有我的理由不想在这里集中讨论),链接必须是静态的(这是一个要求)
我非常清楚,如果不访问发生这种情况的机器,就很难调试这种东西。然而,它发生在两台不同的机器上(都有Arch),所以可能是我忘记了什么
我到目前为止所做的尝试在这里解释()
应该起作用的基本命令如下
clang++-static-stdlib=libc++-std=c++17 main.cpp-lc++abi
这将是因为您没有安装静态libc++
(即libc++.a
)
在你的系统上。Archlinux默认不安装静态库,
因此,执行完全静态链接对您来说将是一个挑战。你会
必须以递归方式对所有依赖库进行自己的静态构建。错误是
找不到-lc++
。链接器正在查找文件libc++.a
。您的系统中有这样的文件吗?对于libc++来说,这相当容易。。。您甚至可以将其破解到libc++PKGBUILD中,并添加一个libc++-静态子包,就是这样。你能解释一下如何静态地构建库吗?我试图修改PKGBUILD,但未能完成。@o3305502您不能在评论中询问。请参见++->OPTIONS=…staticlibs…