Мой проект C++ использует CMake для создания make-файлов для компиляции и внешних библиотек из увеличение. Я предпочитаю редактор vim. Запуск $ make
в командной строке работает, но :make
в vim имеет проблемы на этапе компоновки и возвращает:
/usr/bin/ld: cannot find -lboost_system
Однако я также использую :make install
для размещения своего проекта в $HOME/usr/stow/<prog>
, где я тестирую и использую программу. Поэтому я ищу решение, чтобы сделать этап связывания успешным.
Дальнейшие подробности:
Он находится в сборке вне источника реж. Поэтому я настроил makeprg
:set makeprg=make\ -C\ ../build/Release/
Более поздняя версия Boost устанавливается и становится доступной в системе через Проект модулей среды, на который я полагаюсь в мой проект. Более новую версию boost можно загрузить через
$ module load boost
Я добавил эту строку в свой $HOME/.profile
, чтобы мне не приходилось вызывать ее каждый раз при компиляции.
Я проверил вопрос (G)VIM использует другой $PATH чем моя система, обсуждающая переменные среды, используемые в vim.
ОБНОВЛЕНИЕ: проблема возникла только при запуске gvim из оконного менеджера (gnome2), а не при запуске (g)vim из командной строки/bash.