我正在使用CLION IDE,Cmake并尝试使用CERN ROOT库编写 Hello world 。
的CMakeLists.txt :
message(STATUS $ENV{ROOTSYS})
〜/ .bashrc中:
export ROOTSYS="$HOME/tools/root-build/"
在构建过程中,由于某种原因,$ENV{ROOTSYS}
为空。但$ENV{PATH}
会返回正确的$PATH
。
我做错了什么?
答案 0 :(得分:11)
来自CLion开发者FAQ:
问:如何将环境变量和参数传递给CLion中的CMake?
答:最好的方法是使用首选项/设置|构建,执行,部署| CMake对话框。
对于.bashrc
文件,它仅由 bash 使用。 CLion不需要使用 bash 进行运行配置过程。
答案 1 :(得分:9)
答案 2 :(得分:1)
在Ubuntu 17.04上,您可以通过修改
来设置永久环境变量 /etc/enviornment
[我假设您可以在其他版本的Linux中执行此操作,但我提供了我正在使用的系统版本。]
例如,我正在编译假设已设置$ {GOOGLE_MOCK}的测试用例。我将以下内容添加到/etc/environment
文件中,现在我不必重写所有CMakeLists.txt文件:
GOOGLE_MOCK=/usr/local/src/googletest/googlemock
GOOGLE_TEST_HOME=/usr/local/src/googletest/googletest
Clion变得更有用了。希望这有助于其他人!
答案 3 :(得分:0)
您可以检查的一件事是.gdbinit
。 Linux上的Clion将调用gdb,它将在.gdbinit
中读取。我碰巧在我的set environment LD_LIBRARY_PATH xxx
文件中有.gdbinit
,该文件会覆盖您在shell中设置的LD_LIBRARY_PATH
,无论是通过直接export
还是通过.bashrc
,还是通过CLion环境变量面板。
希望这会有所帮助。
答案 4 :(得分:0)
在.profile中而不是.bashrc中提供变量