我的 C++ 项目使用CMake为来自boost的编译和外部库创建 makefile 。我选择的编辑器是vim。$ make
在命令行中运行有效,但:make
在 vim 中在链接阶段出现问题并返回:
/usr/bin/ld: cannot find -lboost_system
但是,我也习惯:make install
将我的项目放在$HOME/usr/stow/<prog>
我测试和使用程序的地方。因此,我正在寻找使链接阶段成功的解决方案。
更多详细信息:
它位于out-of-src 构建目录中。因此我配置了makeprg
:set makeprg=make\ -C\ ../build/Release/
通过我在项目中依赖的Environment Modules Project安装了更新的 boost 版本并在系统上可用。可以通过以下方式加载较新的增强版本
$ module load boost
我已将此行添加到 my$HOME/.profile
中,这样我每次编译时都不必调用它。
我已经检查了问题(G)VIM 使用的 $PATH 与我的系统讨论 vim 中使用的环境变量不同。
更新:问题仅发生在从窗口管理器(gnome2)启动的 gvim 中,而不是从命令行/bash 启动的(g)vim。