J'ai un qmake strong> de quelques bibliothèques et une application qui en dépend. Utilisation du modèle SubDirs, je suis capable d'obtenir QMake de sortir un fichier .SLN qui fonctionne presque à mon goût dans VC2008. Bien que j'ai spécifié les dépendances entre les cibles de toutes les directions que j'ai vues décrites, je ne finis pas sans «dépendances du projet» dans le fichier .sln et je dois les ajouter manuellement. jusqu'à présent, je ' J'ai essayé p> avec commande correcte en vain. p> et de la même manière la syntaxe d'arcane: p> qui ne fonctionne pas non plus. Aucune dépendance, que ce soit apparaître lorsque je charge le SLN. P> p>
3 Réponses :
Je ne suis pas un Wiz dans des fabricants de fabricants, mais si j'étais vous, j'essaierais de recréer cette dépendance avec QTCreator en modifiant le fichier .pro, exécutant QMake, puis en regardant le résultat généré automatiquement dans le fichier Maklefile. Si vous voulez savoir comment QMake fonctionne, regardez la documentation QT. P>
J'ai été sur chaque ensemble de documents que je peux trouver. Et fait beaucoup de plongée source pour démarrer. À titre de note latérale, les Makefiles QMAKE génèrent semblent avoir les dépendances correctes. C'est le .sln qui a le problème.
@Michael: voulez-vous dire les fichiers individuels .vcproj (puisque je crois que c'est là que vivent ces dépendances).
J'aurais deviné que ces choses vivaient dans le fichier .sln, car c'est le dossier qui connaît tous les différents projets et peut les connecter avec les dépendances dont j'ai besoin.
Dans une ancienne entrée de liste de diffusion: http://lists.trolltech.com/qt-interest/ 2006-07 / threv00238-0.html P>
Il semble qu'il essaie de déterminer quelles choses dépendent de vous. Êtes-vous capable de construire à partir du SLN sans entrer dans les dépendances du projet manuellement? P>
Je suis tombé sur ce post cryptique avant. Je ne sais pas si les informations sont à jour. J'ai certainement essayé d'utiliser à la fois les méthodes simples et complexes qu'il décrit, mais en vain. Sans entrer les dépendances manuellement, je ne peux pas dire que la construction fonctionne vraiment, non. Ce n'est pas complètement cassé, mais il y a suffisamment de problèmes, à la fois manifestées et silencieuses, qu'il valait toujours la peine d'ajouter les DEP à la main.
Avez-vous essayé de définir les dépendances avec QTCreator, puis de créer le SLN? Je n'ai pas ma machine de devir qt devant moi, alors je ne peux donc pas dire avec certitude ce qu'il met dans le fichier PRO lorsque vous spécifiez des dépendances dans la vue Projet.
Les deux mais ils avaient fourni une solution de contournement (qui est discutée dans ce POST CRYPTIQUE ), et il est toujours valide et même documenté dans le même cible section. Dommage que je devais reconstruire qmake et utiliser un débogueur pour vérifier que: P> a) il y a un projet LIB / DLL dont la cible (la .lib est utilisée et non le .dll) est utilisée sur la ligne de liaison d'un autre projet dans votre solution (vous pouvez modifier la ligne de liaison avec Libs). P>
b) Il existe un projet EXE dont une cible est utilisée dans une étape de construction personnalisée d'un autre projet dans votre solution. P> LI>
Fondamentalement, QMake générera une dépendance lorsque votre nom cible de votre LIB ( Voici la configuration minimale qui génère des dépendances dans la solution: P> config + = commandé code> et
cible.depends = code> ne sont pas pris en charge par le backend MSVC de QMake (générateur de solutions). De retour en 2010 avec Qt 4.7 autour, les Docs n'ont pas mentionné cela, mais dans Qt 4.8, les développeurs ont mis à jour les docs en conséquence (voir la section cible Remarques):
yourlib.lib code>) est égal à l'une des bibliothèques d'importation de l'application finale (qui a
libs + = yourlib.lib code>).
(Voir Source de QMake Où Les bibliothèques d'importation sont ajoutées en tant que dépendances et un Petit autre où ils sont comparés avec les noms cibles du projet) P>
GlobalSection(ProjectDependencies) = postSolution
{E634D0EB-B004-3246-AADA-E383A376158F}.0 = {1BD6E999-63E6-36F5-99EE-1A650332198C}
EndGlobalSection
Merci beaucoup! Enfin, je sais pourquoi les dépendances de Heck ne fonctionnent pas.