cmake 可执行文件无法找到libstdc++版本

ojsjcaue  于 2023-08-05  发布在  其他
关注(0)|答案(2)|浏览(163)

我的机器上安装了不同的编译器。默认的libstdc++.so位于/usr/lib 64中。我在“/home/myCompilers/gcc 1210”文件夹中安装了gcc 12.1,我正在使用我的Clion来使用这个编译器。可执行文件构建正确,但当我尝试运行此可执行文件时,它出错:
/lib64/libstdc++.so.6:未找到版本“GLIBCXX_3.4.29”(./project_exe要求)
我在CMake中使用了link_directories(/home/myCompilers/gcc1210/lib64)命令,给予了libstdc ++. so的正确路径,但可执行文件在运行时无法使用它。
在CMake中给予运行时库搜索路径的正确方法是什么?

kzipqqlq

kzipqqlq1#

我宁愿使用recommended way来设置RPATH

# use, i.e. do not skip the full RPATH for the build tree
set(CMAKE_SKIP_BUILD_RPATH FALSE)

# when building, do not use the install RPATH already
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)

# the RPATH to be used when installing
set(CMAKE_INSTALL_RPATH "")

# do not add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)

字符串

7vux5j2d

7vux5j2d2#

系统提供的gcc - /usr/lib 64/libstdc++.so.6.0.32
/usr/local/lib64/libstdc++.so.6.0.31.我重新链接到了系统.32库。一切都很好,但这不是我通常做的事情。暂时可以。

相关问题