web-dev-qa-db-fra.com

Clion ou cmake ne voient pas la variable d'environnement

J'utilise CLion IDE, Cmake et j'essaie d'écrire Hello world en utilisant la bibliothèque CERN ROOT.

CMakeLists.txt :

message(STATUS $ENV{ROOTSYS})

~/.bashrc :

export ROOTSYS="$HOME/tools/root-build/"

Pendant la construction de CLion, $ENV{ROOTSYS} est vide pour une raison quelconque. Mais $ENV{PATH} renvoie $PATH correct.

Qu'est-ce que j'ai mal fait?

11
A.Sizov

Des développeurs CLion _ FAQ :

Q: Comment passer des variables et des paramètres d’environnement à CMake dans CLion?

R: Le meilleur moyen est d'utiliser Préférences/Paramètres | Construction, exécution, déploiement | Dialoguer.

Quant au fichier .bashrc, il n’est utilisé que par bash. CLion n'a pas besoin d'utiliser bash pour exécuter le processus de configuration.

11
Tsyvarev

Allez dans Fichier -> Paramètres -> Construire, Exécuter, Déployer enter image description here

Cliquez système de passe et ...

Pour le vieux Clion

 enter image description here

Pour Clion 2017.2

 enter image description here  enter image description here

Les variables de .bashrc ne sont pas passées

9
Dawid Drozd

Sur Ubuntu 17.04, vous pouvez définir une variable d’environnement permanente en modifiant 

    /etc/enviornment

[Je suppose que vous pouvez le faire dans d'autres versions de Linux, mais je fournis la version du système que j'utilise.]

Par exemple, je compile des scénarios de test qui supposent que $ {GOOGLE_MOCK} a été défini. J'ai ajouté ce qui suit à mon fichier /etc/environment et je n'ai plus besoin de réécrire tous mes fichiers CMakeLists.txt:

    GOOGLE_MOCK=/usr/local/src/googletest/googlemock
    GOOGLE_TEST_HOME=/usr/local/src/googletest/googletest

Clion est devenu beaucoup plus utilisable. J'espère que ceci aide quelqu'un d'autre!

1
John Murray

Une chose que vous pouvez vérifier est le .gdbinit. Clion sur Linux invoquera la gdb, qui lira le .gdbinit. Il se trouve que j'ai set environment LD_LIBRARY_PATH xxx dans mon fichier .gdbinit, qui remplace tout ce que vous avez défini LD_LIBRARY_PATH à partir de Shell, que ce soit par le biais de export directe ou de .bashrc, ou du panneau de variables d'environnement CLion. 

J'espère que cela t'aides.

0
xxks-kkk