首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预处理器定义在Visual中工作,而在Qt创建者中不工作。

预处理器定义在Visual中工作,而在Qt创建者中不工作。
EN

Stack Overflow用户
提问于 2012-11-08 09:08:32
回答 1查看 971关注 0票数 1

.pro文件:

代码语言:javascript
复制
DEFINES += MY_HEADER=\"test.h\"

cpp文件:

代码语言:javascript
复制
#include MY_HEADER

在Qt-Creator中,错误导致编译失败:

错误C2006:'#include‘:期望文件名,找到’标识符‘

编译器命令行似乎是正确的:

"C:\Program (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe“-f Makefile.Debug cl -c -nologo -Zm200 -Zc:wchar_t- /E -Zi -MDd /E -GR -EHsc -W3 -w34100 -w34189 -w34100-W3”test.h“en21 en23 en25HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\Qt\4.7.4\include\QtCore“-I”c:\Qt\4.7.4\包含“-I”c:\Qt\4.7.4\包含\ActiveQt“调试”-I"..\testdefine“-I”。“-I”c:\Qt\4.7.4\mkspecs\msvc2010“-Fodebug\ @C”用户\Ekimov-A\AppData\Local\Temp\nm9C17.tmp

当使用Qt-addin将项目导入Visual时,此代码编译时不会出现任何问题。

EN

回答 1

Stack Overflow用户

发布于 2012-11-08 11:06:35

这似乎是个qmake (特性?)。可能的解决办法:

代码语言:javascript
复制
DEFINES += 'MY_HEADER=\\\"test.h\\\"'

代码语言:javascript
复制
DEFINES += MY_HEADER=\\\"test.h\\\"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13285791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档