如何使用CMAKE或者GCC连接指定的GLIBC运行程序
安装新的GLIBC 2.34
wget
下载源码包
tar
解压压缩包
tar xzfv glibc-2.34.tar.gz
configure
设置一下安装路径
./configure –prefix=/opt/glibc-2.34
--prefix=
你要存放的路径(建议不要覆盖自带的GLIBC)
make -j4
-j
你需要开启的线程数目(用来加快编译速度)
sudo make install
sudo
因为我是安装到/opt目录下, 所以需要sudo
测试用例
转自 https://stackoverflow.com/questions/9705660/check-glibc-version-for-a-particular-gcc-compiler
1 |
|
简单运行一遍
我系统自带的是GLIBC3.31
GCC编译命令
1 | g++ -std=c++11 ../helloworld.cc -Wl,--rpath=/opt/glibc-2.34/lib -Wl,--dynamic-linker=/opt/glibc-2.34/lib/ld-linux-x86-64.so.2 |
-Wl,--rpath=
重新指定库的路径-Wl,--dynamic-linker=
指定动态连接库
CMAKE编译
1 | cmake_minimum_required(VERSION 3.15) |
主要的是add_compile_options
中关于CXXFLAGS
,其实这个跟GCC一样
结论
调用rpath
以及dynamic-linker
可以指定GLIBC