Как я могу заставить KDevelop распознавать переменные среды в Ubuntu?

Я связываюсь с внешней библиотекой в ​​проекте С++ в KDevelop. В CMakeLists.txt у меня есть следующее:

include_directories($ENV{INCLUDE_PATH})
link_directories($ENV{LD_LIBRARY_PATH})

Когда я нажимаю скомпилировать в KDevelop, он жалуется, что не может найти внешние заголовочные файлы и библиотеки. Если я изменю выше на

include_directories("/home/username/path/to/.h/files")
link_directories("/home/username/path/to/.so/files")

проект компилируется без ошибок. В качестве альтернативы, если я открою gnome-терминал, перейдите в каталог проекта и введите

cmake .
make

все правильно компилируется. Я думаю, проблема в том, что cmake не знает о переменных среды INCLUDE_PATH и LD_LIBRARY_PATH при вызове KDevelop. Я определил эти переменные в своем файле .bashrc. Это проблема с запуском KDevelop в Ubuntu (стандартная версия gnome)? Могу ли я настроить KDevelop для распознавания переменных среды, отправленных в .bashrc?


person apdnu    schedule 24.03.2012    source источник
comment
Вы печатаете переменные $ENV{INCLUDE_PATH} и $ENV{LD_LIBRARY_PATH} при компиляции с помощью Kdevelop? Сделайте это, чтобы отладить файл cmake.   -  person softghost    schedule 25.03.2012


Ответы (1)


файлы bashrc считываются через интерактивные оболочки. Возможно, вы хотите переместить переменные среды в свой файл .profile, который всегда читается. После внесения изменений выйдите из системы и войдите снова (возможно, вам даже придется перезапустить в некоторых Linux среды X11).

person Taylor Dondich    schedule 24.03.2012