Copier un fichier dans le répertoire de compilation après avoir compilé le projet avec Qt

j'ai un fichier" paramètres.ini" qui doit résider à côté de L'exécutable Qt.

je peux ajouter une étape de construction personnalisée pour cela dans Qt Creator qui appelle quelque chose comme ceci:

copy %{sourceDir}/settings.ini %{buildDir}/settings.ini

cela fonctionne très bien jusqu'à présent, mais j'aimerais l'inclure dans le *.pro file pour que je puisse mettre ça dans notre SVN aussi.

Comment puis-je faire cela en utilisant qmake/.pro-files seulement?

13
demandé sur Strayer 2011-10-17 18:41:04

3 réponses

vous voulez probablement utiliser le INSTALLS mot-clé dans QMake. Il vous faudra exécuter make install après votre construction, mais il fonctionne cross-plate-forme.

install_it.path = %{buildDir}
install_it.files += %{sourceDir}/settings.ini

INSTALLS += install_it
11
répondu jwernerny 2011-10-18 16:52:41

copier %{sourceDir}/settings.ini pour le répertoire de construction sans l'obligeant à appeler make install utiliser:

copydata.commands = $(COPY_DIR) $$PWD/settings.ini $$OUT_PWD
first.depends = $(first) copydata
export(first.depends)
export(copydata.commands)
QMAKE_EXTRA_TARGETS += first copydata

$$PWD est le chemin du fichier .pro . Si votre fichier settings.ini n'est pas situé dans le même répertoire que le fichier du projet, alors utilisez quelque chose comme $$PWD/more_dirs_here/settings.ini

Note : j'ai trouvé cette solution ici . Je recommande de lire la tout l'article explique comment cela fonctionne.

10
répondu Paglian 2016-04-05 23:04:52

pour les paquets osx vous pouvez le gérer de cette façon voir fichiers ressources dans le paquet OS X

ajoutez ceci à votre dossier de projet:

APP_QML_FILES.files = path/to/file1.qml path/to/file2.qml
APP_QML_FILES.path = Contents/Resources
QMAKE_BUNDLE_DATA += APP_QML_FILES

cet exemple copie les fichiers au contenu /ressources

2
répondu lumos0815 2017-07-24 14:48:35