Подтвердить что ты не робот

Включение файлов ресурсов в каталог сборки Qt Creator

У меня есть проект, над которым я работаю с Qt Creator, и я пытаюсь заставить его автоматически добавлять мои файлы ресурсов в мои каталоги сборки (вывода). У меня есть файлы в каталоге проекта, но я не знаю, как редактировать файл *.pro, чтобы включить в него дополнительные файлы содержимого. (Если это возможно?)

Кто-нибудь знает, как получить файлы содержимого точно так же, как и в моих выходных каталогах?

EDIT:

Просто чтобы все знали точно, что я пытаюсь сделать... Я хочу автоматически скопировать FFmpeg в качестве исполняемого файла в мои каталоги сборки. Таким образом, если выход сборки не существует, он будет скопирован непосредственно перед отладкой приложения.

Я пытаюсь предотвратить чистую работу от очистки ресурсов, и мне приходится копировать их снова и снова. Также... Я работаю на нескольких компьютерах и использую SVN или Dropbox, поэтому я хочу, чтобы мои пути были относительными. Они будут меняться при переходе с одного компьютера на другой.

ЗАКЛЮЧИТЕЛЬНЫЙ ОТВЕТ:

CONFIG(release, debug|release) {
    DESTDIR = release
} else {
    DESTDIR = debug
}

#for Windows
win32 {
    #in Windows, you can use & to separate commands
    copyfiles.commands += @echo NOW COPYING ADDITIONAL FILE(S) &
    copyfiles.commands += @call copy ..\\$${TARGET}\\ffmpeg.exe $${DESTDIR}\\ffmpeg.exe
}

#for Mac
macx {
     #commands would go here if I had them
}

QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles
4b9b3361

Ответ 1

Если вы хотите автоматически копировать файлы в каталог после сборки, вы можете использовать цель пост-сборки.

В вашем файле pro:

win32 {
    copyfiles.commands = @call copy <from> <to>
}
macx {
    copyfiles.commands = cp <from> <to>
}
QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles

Вместо copy <from> <to> вы можете, очевидно, вызвать script/пакетный файл, который выполняет больше шагов сборки.

Ответ 2

Ознакомьтесь с системой ресурсов Qt.

Чтобы добавить файл ресурса в ваш проект, добавьте в свой файл .pro следующее.

RESOURCES = application.qrc

Подробные примеры, доступные в Qt Docs..

После добавления в файл pro отдельный файл .qrc будет добавлен в ваш проект Qt, с помощью которого вы можете дважды щелкнуть мышью и добавить нужные ресурсы, такие как значки, файлы перевода и т.д.,

Надеюсь, что это поможет.

Ответ 3

Сейчас 2012, и ни один из этих методов не работает для меня. Я получаю эту ошибку:

mingw32-make[1]: Leaving directory `C:/src/GL-Texture-build-desktop-Qt_in_PATH_Debug'
/usr/bin/sh: copy: command not found
mingw32-make[1]: *** [copyfiles] Error 127
mingw32-make: *** [debug] Error 2
00:28:19: The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project GL-Texture (target: Desktop)
When executing step 'Make'

Глядя на сообщение, я поражен, увидев, что использует оболочку sh, возможно, из-за mingw. В любом случае я решил эту проблему, используя эквивалент unix:

CONFIG(release, debug|release) {
    DESTDIR = release
} else {
    DESTDIR = debug
}

#for Windows
win32 {
    copyfiles.commands += @echo NOW COPYING ADDITIONAL FILES &
    copyfiles.commands += cp -r ../$${TARGET}/textures $${DESTDIR}/
}

QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles

Это происходит в Windows 7/QT 4.6.3.