我的C++項目使用CMake爲編譯器和外部庫創建生成文件從boost。我選擇的編輯器是vim。 在命令行中運行$ make
工作,但:make
在vim具有在連接階段和問題回報:Vim和環境模塊:編譯通過:make不知道提升
/usr/bin/ld: cannot find -lboost_system
不過,我也用:make install
把我的項目在$HOME/usr/stow/<prog>
,我測試和使用程序。因此,我正在尋找一種解決方案,使連接階段成功。
進一步瞭解詳細:
正是在out-of-src build目錄。因此,我已經配置makeprg
:set makeprg=make\ -C\ ../build/Release/
更近的提升版本被安裝,並通過我在我的項目依賴Environment Modules Project的系統上提供。較新版本的提升可以通過
$ module load boost
我已經加入這一行被加載到我的$HOME/.profile
,讓我不必在每次我編譯時間打電話給它做。
我檢查了問題(G)VIM uses a different $PATH than my system討論vim中使用的環境變量。
UPDATE:問題只發生在gvim從窗口管理器(gnome2)開始,而不是從命令行/ bash開始的(g)vim。
感謝您的回答。這真的很有幫助。現在我可以弄明白了。它實際上只有gvim,在命令行中鏈接問題而不是vim。實際上,我必須設置env變量'$ LIBRARY_PATH':'let $ LIBRARY_PATH =「/ apps/boost/1_50_0/lib /:".$ LIBRARY_PATH'。 – Hotschke
有關類似問題的人的更多信息,請參閱以下網站:[vim.wikia.com/EnvVar](http://vim.wikia.com/wiki/Environment_variables),[ld-library-path-vs-library-路徑](http://stackoverflow.com/questions/4250624/ld-library-path-vs-library-path)和[回覆:gvim - 環境/ bashrc未加載](http://vim.1045645.n5。 nabble.com/gvim-environment-bashrc-not-loaded-tp1179930p1179931。html) – Hotschke
很高興爲你工作。感謝您將指針添加到LD_LIBRARY_PATH和LIBRARY_PATH之間的區別 – JohnQ