加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何强制cmake链接自定义gcc库

发布时间:2020-12-16 07:14:01 所属栏目:百科 来源:网络整理
导读:在cmake生成makefile之后,我正在尝试使用自定义 gcc编译我的程序.我做了以下事情: 从源代码编译gcc 5.2.0 将cmake变量CMAKE_CXX_COMPILER设置为自定义构建的路径,假设为/ home / user / pkgs / bin / g. Ran cmake,它成功完成 Ran make,它也成功完成 但是,
在cmake生成makefile之后,我正在尝试使用自定义 gcc编译我的程序.我做了以下事情:

>从源代码编译gcc 5.2.0
>将cmake变量CMAKE_CXX_COMPILER设置为自定义构建的路径,假设为/ home / user / pkgs / bin / g.
> Ran cmake,它成功完成
> Ran make,它也成功完成

但是,当我尝试运行程序时,它会显示错误:
??/usr/lib / x86_64-linux-gnu / libstdc .so.6:找不到版本’GLIBCXX_3.4.21′

在我看来,问题是链接到/usr/lib中的旧库,而链接应该是cutom gcc库.

我怎样才能解决这个问题?

解决方法

问题不是CMake特有的.您可以使用GCC的所有自定义安装,它可以提供新版本的libstdc.

您可以将LD_LIBRARY_PATH更改为指向gcc安装路径

export "LD_LIBRARY_PATH=/home/user/pkgs/lib:$LD_LIBRARY_PATH"

或者您可以通过将-static-libstdc添加到您的CMAKE_CXX_FLAGS静态链接到libstdc .so.6,或者您可以将目标的rpath更改为包含/ home / user / pkgs / lib(请参阅cmake wiki on rpath) ,但这仅在您运行时有效程序只在它编译的机器上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读