Build ld找不到-lstdc++;在没有sudo的情况下尝试在本地构建工具时
我正在尝试使用cmake编译一个没有sudo(本地安装)的工具,而ld似乎找不到libstdc++:Build ld找不到-lstdc++;在没有sudo的情况下尝试在本地构建工具时,build,cmake,compilation,linker,ld,Build,Cmake,Compilation,Linker,Ld,我正在尝试使用cmake编译一个没有sudo(本地安装)的工具,而ld似乎找不到libstdc++: /usr/bin/ld: cannot find -lstdc++ 我的ld搜索路径为: $ ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012 SEARCH_DIR("/usr/x86_64-redhat-linux/lib64") SEARCH_DIR("/usr/lib64") SEARCH_DIR("/usr/local/lib64")
/usr/bin/ld: cannot find -lstdc++
我的ld搜索路径为:
$ ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
SEARCH_DIR("/usr/x86_64-redhat-linux/lib64")
SEARCH_DIR("/usr/lib64")
SEARCH_DIR("/usr/local/lib64")
SEARCH_DIR("/lib64")
SEARCH_DIR("/usr/x86_64-redhat-linux/lib")
SEARCH_DIR("/usr/local/lib")
SEARCH_DIR("/lib")
SEARCH_DIR("/usr/lib")
在/usr/lib64/libstdc++.so.6
下有一个libstdc++
我的LD\u库路径
包含/usr/lib64/
问题:
1.是因为名称完全匹配导致“ld”找不到库吗
谢谢 您还需要有
libstdc++.so
文件(没有so版本)。通常,此文件是指向最高版本的so文件的链接。@Tsyvarev,在调用“make”之前,是否可以将此文件传递给cmake配置?如果您不介意给出一点cmake代码片段的话,这里对cmake选项非常陌生。谢谢同样,这不是一个CMake问题。给定普通库名称,如stdc++
,链接器(ld
)不会搜索so版本(扩展名为.so.
)的文件。为了成功链接,您的系统上应该有一个没有so版本的文件。»我的LD_库路径包含/usr/lib64/«:libstdc++。因此
通常不在/usr/lib64/→ Fedora示例/usr/lib/gcc/x86\u 64-redhat-linux/8/
。(Slackware有/usr/lib64/libstdc++.so
)链接器似乎应该找到文件/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
。您可以尝试将/usr/lib/gcc/x86\u 64-redhat-linux/4.8.2
添加到LD\u库路径中。