无需安装试用GCC:Ubuntu18.04下测试自行编译的GCC9.3.0方法咨询
解决方案
1. 定位编译生成的g++二进制文件
你在配置时添加了--program-suffix=-9.2参数,编译生成的g二进制文件名会自动加上后缀,名为g++-9.2而非默认的g,且最终生成的二进制文件存放在编译目录下的gcc子目录中,你看到的xg++是编译过程的中间产物,无法直接运行。
你可以在执行make命令的编译目录下执行以下命令确认文件位置:
find ./ -name "g++-9.2" -type f -executable
正常输出路径应为./gcc/g++-9.2。
2. 临时配置环境变量即可使用
无需安装module工具,也不需要执行make install,仅需要在使用该版本GCC的终端内配置几个环境变量即可,不会修改系统全局配置,关闭终端后配置自动失效,完全不影响系统原有GCC:
首先把下面命令中的/home/xxx/gcc_build替换为你自己执行make操作的编译目录的绝对路径:
GCC_BUILD_DIR="/home/xxx/gcc_build" # 添加二进制文件搜索路径 export PATH="${GCC_BUILD_DIR}/gcc:${PATH}" # 添加头文件搜索路径 export C_INCLUDE_PATH="${GCC_BUILD_DIR}/x86_64-linux-gnu/libstdc++-v3/include:${C_INCLUDE_PATH}" export CPLUS_INCLUDE_PATH="${GCC_BUILD_DIR}/x86_64-linux-gnu/libstdc++-v3/include:${CPLUS_INCLUDE_PATH}" # 添加运行库搜索路径,避免编译出的程序运行时调用系统自带的旧版本libstdc++ export LD_LIBRARY_PATH="${GCC_BUILD_DIR}/x86_64-linux-gnu/libstdc++-v3/src/.libs:${GCC_BUILD_DIR}/gcc:${LD_LIBRARY_PATH}"
配置完成后执行以下命令验证版本:
g++-9.2 -v
输出的版本信息为你编译的9.3.0即代表配置生效,可以正常使用。
3. 可选:简化启动流程
如果不想每次使用都重复输入环境变量配置,可以把上述配置内容写入一个shell脚本(例如activate-gcc9.sh),每次需要使用时执行source activate-gcc9.sh即可完成配置。
内容的提问来源于stack exchange,提问作者Desperado17
相关产品推荐
相关产品推荐

