我的.pro文件中有以下定义:
RC_FILE = app.rc
此RC文件在顶部包含全局包含:
#include "version_info.h"
version_info.h标头位于公共头文件目录中。
由于RC.EXE考虑了INCLUDE环境变量,根据MS文档,我的构建过程批量设置相应:
SET INCLUDE=%PROJECTDIR%\version;%INCLUDE%
...
QMAKE project.pro -spec win32-msvc2008 -r CONFIG += release
这很有效,因为RC似乎读取了INCLUDE var,因此“version_info.h”文件正确包含在每个RC文件中。
问题是我生成VS解决方案(或通过VS Addin导入)。 RC调用不包含任何/ I标志(正如我所期望的那样)但不会读取任何INCLUDE变量,即使我在XP中设置了系统“环境变量”对话框。
所以我坚持这个问题,有两种选择我无法工作:
提前致谢。
答案 0 :(得分:2)
有点hacky但工作正常:在.pro文件中使用QMAKE_RC qmake变量(或通过qmake的参数)。默认情况下,它定义为rc
,但您可以将其设置为rc /i<directory> <any-other-rc-flags>
“。如果QMAKE支持QMAKE_RC_FLAGS之类的内容会更好,但事实并非如此。
答案 1 :(得分:1)
在解决之前,您有以下解决方案: - 破解生成的解决方案文件(有关详细信息,请参阅错误报告) - 明确地包含带路径的头文件,而不依赖于INCLUDEPATH(例如#include“../../ version.h”)
答案 2 :(得分:1)
我不知道你是否注意到了,但是@Bruce提到的bugtracker bug自5.0.0 RC2开始关闭:https://codereview.qt-project.org/#change,41984
您需要使用的变量是RC_INCLUDEPATH
。