规格:Qt Creator 2.5.1、Qt 4.7.4(32bit)
我从Qt 文档中了解到,在 Qt的 .pro 文件中包含资源 (.qrc) 是让 qmake 生成正确的 qrc_*.cpp 文件所需的全部内容。我的项目似乎并非如此。运行 qmake 时,会创建 make 文件,并且有对我在 compiler_rcc_clean 下寻找的 qrc_ 文件的引用,只是不在构建链中。
[更新] 根据下面评论的建议,qmake 生成的 makefile 直接使用 NMAKE 进行了测试。创建了正确的 qrc_filter_ao.cpp 文件。但是,当我从 Qt Creator 构建时,IDE 仍然无法正确生成此文件。
.pro:
include (../../shared.pri)
TARGET = filter_ao
QT += opengl
HEADERS += ./filter_ao.h
SOURCES += ./filter_ao.cpp
RESOURCES += \
filter_ao.qrc
共享.pri
include (./general.pri)
VCGDIR = ../$$VCGDIR
TEMPLATE = lib
CONFIG += plugin
CONFIG += resources
QT += opengl
QT += xml
QT += xmlpatterns
QT += script
win32-msvc2008: LIBS += ../../distrib/common.lib
win32-msvc2008:DEFINES += GLEW_STATIC _USE_MATH_DEFINES
INCLUDEPATH *= ../.. $$VCGDIR ../$$GLEWDIR/include
DEPENDPATH += ../.. $$VCGDIR
win32-msvc2008:DEFINES += _CRT_SECURE_NO_DEPRECATE
CONFIG(release,debug | release){
# Uncomment the following line to disable assert in mingw
#DEFINES += NDEBUG
}
DESTDIR = ../../distrib/plugins
contains(TEMPLATE,lib) {
CONFIG(debug, debug|release) {
unix:TARGET = $$member(TARGET, 0)_debug
else:TARGET = $$member(TARGET, 0)d
}
}
win32-msvc2008: RCC_DIR = $(ConfigurationName)
一般.pri
VCGDIR = ../../../vcglib
GLEWDIR = ../external/glew-1.7.0
win32:DEFINES += NOMINMAX