Clion或cmake没有看到环境变量

时间:2016-06-06 16:10:16

标签: cmake environment-variables clion root-framework

我正在使用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

我做错了什么?

5 个答案:

答案 0 :(得分:11)

来自CLion开发者FAQ

  

问:如何将环境变量和参数传递给CLion中的CMake?

     

答:最好的方法是使用首选项/设置|构建,执行,部署| CMake对话框。

对于.bashrc文件,它仅由 bash 使用。 CLion不需要使用 bash 进行运行配置过程。

答案 1 :(得分:9)

转到文件 - &gt;设置 - &gt; <强>构建,执行,部署 enter image description here

点击通过系统并...

对于旧的Clion

enter image description here

对于Clion 2017.2

enter image description here enter image description here

.bashrc中的变量未通过

答案 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中提供变量