conda环境安装RabbitQCPlus遇gcc版本冲突问题求助
解决RabbitQCPlus编译时g++版本不兼容问题的分步方案
1. 确认conda环境激活及编译器路径
- 先激活你安装了gcc 11.2.0的conda环境:
conda activate 你的环境名称 - 检查当前环境中g++的实际路径,确认是否指向conda环境内的版本:
which g++如果输出是类似
/home/你的用户名/miniconda3/envs/你的环境名称/bin/g++,说明路径正常;如果是/usr/bin/g++,说明系统全局的老版本g++优先级更高,需要调整。
2. 强制make使用conda环境内的编译器
直接在执行编译命令时,指定CC和CXX变量为conda环境中的gcc和g++,绕开系统版本的干扰:
make -j4 CC=$(which gcc) CXX=$(which g++)
3. 解决libstdc++版本不兼容问题
系统全局的libstdc++是4.8版本,无法适配conda的gcc 11.2.0,需要设置环境变量让程序优先加载conda环境内的高版本库:
- 激活conda环境后,执行以下命令临时设置路径:
export LD_LIBRARY_PATH=${CONDA_PREFIX}/lib:$LD_LIBRARY_PATH - 完成后再执行第二步的make编译命令即可。
4. (可选)永久设置环境变量避免重复操作
如果不想每次激活环境都手动设置路径,可以修改conda环境的激活脚本:
- 创建环境激活脚本目录:
mkdir -p ${CONDA_PREFIX}/etc/conda/activate.d - 创建并编辑环境变量脚本:
vi ${CONDA_PREFIX}/etc/conda/activate.d/set_env.sh - 在文件中添加以下内容并保存:
export LD_LIBRARY_PATH=${CONDA_PREFIX}/lib:$LD_LIBRARY_PATH - 下次激活该环境时,会自动加载这个路径设置。
内容的提问来源于stack exchange,提问作者kabirium
相关产品推荐
相关产品推荐

