开发者

Including resource files in Qt Creator build directory

I have a project I am working on with Qt Creator and I'm trying to get it to add my resource files to my build directories (output) automatically. I have the files in the project directory, but I don't know how to edit the *.pro file to make it include additional content files. (If that i开发者_Go百科s even possible?)

Does anyone know how to get content files exactly as they are into my output directories?

EDIT:

Just so everyone knows exactly what I'm trying to do... I want to automatically copy FFmpeg as an executable into my build directories. That way if the build output does not exist, it will be copied over just before the application is debugged.

I'm trying to prevent clean operations from wiping out resources and me having to copy them back over again and again. Also... I work on multiple computers and use either SVN or Dropbox, so I want to keep my paths relative. They will change when I move from one computer to another.

FINAL ANSWER:

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


If you want to automatically copy files into a directory after the build you can use a post build target.

In your pro file:

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

Instead of copy <from> <to> you can obviously call a script/batch file that does more post build steps.


Check out the Qt Resource System.

To add the resource file into your project, you have add the following in your .pro file..

RESOURCES = application.qrc

Detailed examples available in the Qt Docs..

Once added into the pro file, a separate .qrc file will be added into your Qt project with which you can double click and add your desired resources like icons, translation files etc.,

Hope it helps..


It's now 2012, and neither of these methods works for me. I get this error:

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'

Looking at the message, I am amazed to see that is using the sh shell, probably because of mingw. Anyhow I solved this problem by using the unix equivalent:

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

This happens on Windows 7 / QT 4.6.3.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜