2009-11-24 3 views
2

j'ai un projet avec les fichiers suivantscomment exporter les en-têtes des fichiers en utilisant Qt pro

TestProject/api/apiheader1.h 
TestProject/api/apiheader2.h 
TestProject/src/apiimplementaton.cpp 
TestProject/inc/apiimplementation.h 
TestProject/TestProject.pro 

Lorsque le projet TestProject.pro est construit en-têtes apiheader1.h, apiheader2.h doit être copié dans/usr/include/TestLib /. Est-il possible de le faire en le spécifiant dans le fichier de projet TestProject.pro.?

Des pointeurs/liens seront utiles.

+0

Juste pour clarifier, doit-il arriver quand il est construit? Si ce n'est pas important, vous pouvez assez facilement configurer un système pour les déplacer lorsque vous tapez "make install". –

+0

Sauf que le Makefile est généré par qmake en utilisant le fichier .pro, c'est pourquoi il pose la question. – tim

Répondre

4

Vous pouvez l'ajouter au fichier pro ... dans qmake vous pouvez ajouter des cibles supplémentaires ... Les copyheaders vont se lancer une fois que la cible est construit ..

QMAKE_EXTRA_TARGETS + = copyheaders
POST_TARGETDEPS + = copyheaders

copyheaders.commands + = mkdir -p/usr/include/TestlLib
copyheaders.commands + = cp -f PATH_TO_HEADERS/apiheader1.h/usr/include/TestLib
copyheaders.commands + = cp - f PATH_TO_HEADERS/apiheader2.h/usr/include/TestLib

0

Etes-vous sûr de vouloir déplacer les fichiers? Le déplacement des fichiers source est mauvais. Pour ce faire, en utilisant qmake, vous pouvez utiliser la fonction system() pour simplement cp les fichiers en question.

http://pepper.troll.no/s60prereleases/doc/qmake-function-reference.html#system-command

+0

seuls les en-têtes sont déplacés et non les sources –

+0

Vous ne savez pas ce que vous commentez, vous contrôlez ce que vous déplacez en utilisant l'appel cp. En ce qui concerne mon premier commentaire, le fait de déplacer des fichiers pendant la construction me semble difficile. Vous pouvez utiliser l'argument gcc -I (variable qmake INCLUDE_DIRS) pour ajouter d'autres répertoires dans lesquels rechercher des en-têtes. Le déplacement de fichiers signifie que vous devez être très prudent lorsque vous effectuez des modifications et que vous archivez des éléments dans votre système de contrôle de version. – e8johan

Questions connexes