我有一个项目,我正在使用Qt Creator,我正在尝试将它的资源文件自动添加到我的构建目录(输出)。我有项目目录中的文件,但我不知道如何编辑* .pro文件以使其包含其他内容文件。 (如果可能的话?)
有没有人知道如何准确地将内容文件放入输出目录中?
编辑:
所以每个人都知道我正在尝试做什么...我想自动将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
答案 0 :(得分:11)
如果要在构建后自动将文件复制到目录中,可以使用构建后目标。
在你的专业档案中:
win32 {
copyfiles.commands = @call copy <from> <to>
}
macx {
copyfiles.commands = cp <from> <to>
}
QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles
而不是copy <from> <to>
你可以明显地调用一个脚本/批处理文件来执行更多的构建后步骤。
答案 1 :(得分:5)
要将资源文件添加到项目中,您需要在.pro
文件中添加以下内容..
RESOURCES = application.qrc
Qt Docs中提供的详细示例..
一旦添加到专业文件中,您的Qt项目中将添加一个单独的.qrc
文件,您可以使用该文件双击并添加所需的资源,如图标,翻译文件等。
希望有所帮助......
答案 2 :(得分:1)
现在是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 shell,可能是因为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上发生。