8
votes

Définissez Inclure le chemin d'accès à une valeur variable d'environnement

Nous essayons d'utiliser le bibliothèque mitk avec qt sous Linux.

Malheureusement, MITK n'a pas de fonctionnalité d'installation et cela dépend également de ITK et de VTK. Nous finissons donc avec des fichiers d'en-tête dispersés dans de nombreux répertoires.

Nous souhaitons spécifier la liste des répertoires à ajouter dans le chemin Inclure dans une variable d'environnement comme ceci: incpath + = $ mitk_include_path. Mais cela ne semble pas fonctionner.

Comment pourrions-nous y arriver? Y a-t-il une meilleure façon?


0 commentaires

4 Réponses :


0
votes

Je ne sais pas mais vous pouvez peut-être essayer d'écrire comme

incompath + =% mitk_include_path%

sous Windows, c'est généralement comme ça ..

mais je n'ai pas essayé.


1 commentaires

En fait, cela ne fonctionne pas sur les fenêtres non plus (au moins cela n'a pas fonctionné pour moi).



3
votes

Avez-vous essayé d'ajouter:

includepath + =

dans le fichier .pro de votre projet?

Et éventuellement, vous aurez également besoin d'éditer des libs et de la dépendance.

voir manuel QMake


1 commentaires

Cela fonctionne si je copie la liste des répertoires. Est-il possible de faire la même chose avec une variable d'environnement?



3
votes

Je pense qu'il y a un moyen plus propre de le faire, mais je ne me souviens pas. Quoi qu'il en soit, vous pouvez utiliser la directive système : xxx

Vous pouvez également l'ajouter à dépendre du chemin: xxx


0 commentaires

11
votes

Vient de découvrir la solution moi-même. Bien que j'ai accordé un point sur Aidos et Cjhuitt pour leurs réponses qui me mettent sur la bonne voie et m'ont sauvé un temps précieux. Un merci spécial pour le lien avec la documentation QMake.

Le premier point est que je devrais modifier le fichier .pro et ne pas violer les arguments de construction étendus.

Pour obtenir le contenu d'une variable d'environnement lorsque QMake est traité, il faut utiliser la syntaxe suivante

includepath + = $$ (mitk_include_path)

Notez que pour obtenir le contenu d'une variable d'environnement lorsque la marque est traitée, il faut utiliser la syntaxe suivante

includepath + = $ (mitk_include_path)

Mais cela n'aura pas le même effet si la variable d'environnement contient plusieurs chemins. Le premier formulaire est alors préférable.

Les chemins de la variable de l'environnement doivent être séparés par des espaces car le; n'est pas reconnu.

Si un chemin contient des espaces, mettez des citations autour de lui. Les espaces apparaissant entre les devis seront remplacés par '\'.


2 commentaires

Si vous avez une liste de répertoires dans votre variable d'environnement séparée par ';' , vous pouvez utiliser quelque chose comme celui-ci (non testé): includepath + = remplacer ($$ (mitk_include_path), ";" "," ")


Et si je veux inclure quelque chose comme ça $ home / x / y / z ?