Doc*_*sha 6 c++ linux gcc cmake
在cmake生成makefile之后,我尝试使用自定义 gcc 编译程序。我已经完成以下工作:
CMAKE_CXX_COMPILER假设将cmake变量设置为定制路径/home/user/pkgs/bin/g++。但是,当我尝试运行程序时,它显示如下错误信息:
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found
在我看来,问题在于链接到中的旧库/usr/lib,而应该链接到cutom gcc库。
我怎样才能解决这个问题?
小智 2
该问题并非特定于 CMake。您可以在 GCC 的所有自定义安装中使用它,该安装附带了新版本的 libstdc++。
您可以更改 LD_LIBRARY_PATH 以指向您的 gcc 安装路径
export "LD_LIBRARY_PATH=/home/user/pkgs/lib:$LD_LIBRARY_PATH"
Run Code Online (Sandbox Code Playgroud)
或者您可以通过添加到 CMAKE_CXX_FLAGS 来静态链接到 libstdc++.so.6 -static-libstdc++,或者您可以更改目标的 rpath 以包含/home/user/pkgs/lib(请参阅rpath 上的 cmake wiki)
,但这仅在您仅在其所在计算机上运行该程序时才有效编译于.
| 归档时间: |
|
| 查看次数: |
2803 次 |
| 最近记录: |