2016-12-21 1 views
0

Il existe plusieurs façons d'aborder les dépendances dans Qt Creator. Avec les projets réguliers, il existe un onglet de dépendance dans la configuration du projet. Avec le projet Subdirs, il y a un paramètre .depends que l'on peut donner à chaque projet. DOCS Cependant Subdirs projet peut contenir d'autres Subdirs projets et les dépendances peuvent ainsi étendre sur ceux-ci avec un projet en vertu du sous-sous-projet dépend d'une autre qui est dans les différents sous-sous-projet:Comment configurer correctement les dépendances dans le projet Subdirs?

Master Subdirs 
L--- Subdirs 1 
    L--- Project 1 
L--- Subdirs 2 
    L--- Project 2 //depends on Project 1 

Il y a deux questions avec cette configuration:

1) on ne peut pas définir les dépendances dans Master Subdirs parce que ni Project 2 ou Project 1 sont connus pour elle (même pour Subdirs 2). La seule chose qui peut être définie est de savoir si Subdirs 2 dépend de Subdirs 1 mais cela n'aidera pas s'il y a des dépendances mutuelles.

2) Lors de la construction Project 2 lui-même qu'il ne connaît pas ses dépendances dans le projet du Subdirs et depuis les projets en Subdirs ne peuvent pas avoir des dépendances régulières ensemble dans l'onglet Project on ne peut pas construire automatiquement et doit soit tout construire ou construire dépendances manuellement avant le projet réel.

Y a-t-il des solutions à ces problèmes? Le n ° 1 peut être résolu en n'utilisant pas l'enfant Subdirs mais non. 2 est toujours un problème malgré tout.

Répondre

1

Votre évaluation est essentiellement correcte.

1) Vous ne pouvez définir des dépendances dans un fichier de subdirs entre les projets qui sont les enfants de ce SUBDIRS fichier .pro, ainsi vous rendre dépendants Project 2 sur Project 1 soit besoin de faire dépendre Subdirs 2 sur Subdirs 1 ou se débarrasser de la sous-répertoires enfants.

2) Pour construire Project 2 en ce qui concerne la dépendance à l'égard Project 1 vous devez soit construire Master Subdirs, ou, si vous ouvriez Project 1 et Project 2 que des projets individuels dans Qt Creator, vous devez configurer la dépendance dans l'onglet Dependencies dans le cadre du projet configuration pour Project 2.

+1

Vous pouvez également vous intéresser à l'utilisation d'un système de génération de méta plus avancé tel que 'CMake', qui, je pense, suit les dépendances sur les cibles de construction –