如何修改Code::Blocks运行程序前的LD_LIBRARY_PATH环境变量配置?
嘿,我之前也碰到过类似的Code::Blocks升级后残留旧环境配置的坑!你检查的都是全局设置,但那个捣乱的旧LD_LIBRARY_PATH大概率藏在项目专属的配置里,给你几个精准排查的方向:
先查项目的构建选项
这是最常见的位置。右键你的Fortran项目,选择Build options:- 选中左侧的项目根节点或者具体的构建目标(比如Debug/Release)
- 切换到Environment标签页,看看有没有直接定义
LD_LIBRARY_PATH的条目——找到的话直接替换成新版gfortran的库路径,或者删掉无效的旧路径就行。 - 顺便也看看Linker settings里的Other linker options,有没有手动加的
-L参数指向旧库目录,一起清理掉。
直接查看项目的.cbp配置文件
Code::Blocks的项目配置都存在.cbp文件里,你用文本编辑器打开它,搜索LD_LIBRARY_PATH或者你那个旧的/home/me/fortran_projects/cdi/installed/include路径。要是找到相关的环境变量定义,直接修改或者删除对应的行,保存后重启Code::Blocks就生效了。小贴士:修改前记得备份
.cbp文件,万一改坏了还能恢复。检查系统终端的全局环境变量
有时候旧的LD_LIBRARY_PATH是在终端启动脚本里设置的,比如~/.bashrc、~/.profile或者~/.zshrc(看你用的是什么shell)。打开这些文件搜搜旧的gfortran路径,修改后重启终端再打开Code::Blocks试试。极端情况:重置Code::Blocks全局配置
如果上面都没找到,可能是Code::Blocks的全局配置文件残留了旧设置。你先关掉Code::Blocks,找到它的配置目录(一般是~/.config/codeblocks/),备份里面的default.conf然后删掉,再重新启动Code::Blocks,重新配置编译器和项目。不过这个会重置所有全局设置,慎用!
内容的提问来源于stack exchange,提问作者Antonio Serrano

