问题
我是在conda虚拟环境中装了自己的gcc,但可以看到,activate虚拟环境后,还在使用系统的gcc。查看你的LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
可以看到为/usr/×××,并不是你的虚拟环境库路径。
确保gcc版本正确
首先,确保你虚拟环境中的gcc版本已经含有GLIBCXX_3.4.20,参考https://www.jianshu.com/p/528c387fb063
使用虚拟环境中的gcc
我们现在需要使用虚拟环境的gcc而不是系统/usr/lib下的。你的gcc对应的libstdc++.so.6应该在anaconda3/envs/虚拟环境名字/lib(或lib64)下面。我们需要在activate虚拟环境的时候改变环境变量LD_LIBRARY_PATH,deactivate的时候再恢复。怎么做参考了以下两个链接:
- https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#macos-and-linux
- https://stackoverflow.com/questions/46826497/conda-set-ld-library-path-for-env-only
我把具体步骤贴上来:
- activate你的虚拟环境
- 查看虚拟环境路径