我有一个 C++ 小项目,在我将 Xubuntu 升级到 15.04 之前,它编译得很好。当我尝试使用 cmake 重建它时,此消息出现在输出的中间:
/usr/bin/ld: cannot find -lstdc++
Run Code Online (Sandbox Code Playgroud)
因此,我尝试编写一个简单的程序来看看是否cmake对此负责:
int main() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有趣的事情:g++编译:
$ g++ main.cpp
$ ls
a.out main.cpp
$ ./a.out
$
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用clang++...
$ clang++ main.cpp
/usr/bin/ld: cannot find -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
$
Run Code Online (Sandbox Code Playgroud)
尝试使用clang++ main.cpp -lc++(如此处建议的)或标志-static(此处)会给出完全相同的错误。-v按照它自己的建议运行clang,我得到这个:
$ clang++ main.cpp -v
Ubuntu …Run Code Online (Sandbox Code Playgroud)