在Eclipse中,通过使用路径和符号中的符号选项,可以指定预处理定义(#ifdef宏)到项目。这有助于跨平台的代码的有效索引。是否有任何选项可以在Qt创建者中提供这些选项?如何将预处理定义(宏)添加到qt创建器?
回答
的定义是在config文件中指定。 .config文件是一个 常规C++文件,它们在分析了 时预先添加到所有源文件中。仅使用config文件中添加行,如下面的例子 :
#define NAME value
也就是说,如果导入一个名为MyProject的项目,则预处理器定义应该在MyProject.config
指定对于我的项目,它会导致索引器识别此定义的项目范围并更改自动完成来反映这一点。
您可以在QtCreator的项目设置中定义一些PREPROCESSOR。我在这里没有QtCreator,但我记得有一个项目配置选项卡。
我找不到在这样的背景下项目配置uration。 – Bharathwaaj 2010-09-06 11:47:03
Tab的名称是“Projects”,您可以通过添加预处理器define来定制编译 – 2010-09-06 12:37:37
我不使用qt创建器进行编译。我用它来建立索引。 – Bharathwaaj 2010-09-09 10:08:32
这取决于:-)
是假设你正在使用的qmake基础的项目如下:
首先,你可以添加DEFINES += SOME_DEFINE=value
到您的.pro文件。这是在创建者和构建命令行时拾取的,并且应该在从.pro文件创建MSVC或XCode项目时显示。
然后,您可以将DEFINES += SOME_DEFINE=value
添加到Qma Creator将在配置项目时发出的qmake调用中。这发生在项目模式,生成设置,QMake步骤。
最后,您可以将#define SOME_DEFINE
值留置到头文件中并包含该头文件。这适用于所有类型的项目:-)
不,我不建议使用qtcreator。我不只是因为它强大的索引。 – Bharathwaaj 2010-09-09 10:07:34
而我的项目不是基于qmake的。 – Bharathwaaj 2010-09-09 10:08:01
+1这可能无助于原始海报,但这是谷歌上“qtcreator define”的热门产品,我们中的许多人正在使用qmake和qtcreator构建。谢谢! – sage 2012-07-03 16:06:38
我想要在.pro文件中指定一个#define字符串,但是我的代码以不带引号的字符串内容结束。我不得不避开引号,然后逃脱逃脱,让一对引号持续到我的代码。这是因为qmake剥离了一组转义和一些引号,然后命令行剥离了其余部分。这为我工作:
DEFINES += "VERSION=\"\\\"0.1.0\\\"\""
在Windows,该版本字符串然后可以在rc文件用于创建版本的东西在那里的Windows想要它,以及在一个“关于”菜单中的代码。
我有一个类似的问题。在命令行中的bash中,这对我有效:'qmake DEFINES + =“BUILD_DATE ='\'\”2016年8月17日\“\''”' – cgmb 2016-08-17 21:33:47
我认为最初的答案是好的,但他们需要您管理您的配置手动而这儿有办法让IDE管理此为您自动根据您是否有一个释放或调试配置选择。
这一点可能是多余的,但请注意,只有在您使用IDE构建时,这将适用于您。很显然,如果情况并非如此,你需要一个不同的解决方案。
步骤
由于图片是胜过千言万语,这里是你如何定义一个调试宏使用Qt Creator的4.3.1您的调试版本为例:
- 请确保您有您的调试配置选择;
这太棒了!谢谢! – KGCybeX 2018-01-26 11:12:54
- 1. C预处理器宏定义宏
- 2. xcodebuild - 如何定义预处理宏?
- 3. 如何使用GNU C预处理器预定义的宏?
- 4. 预处理器宏
- 5. 如何从预处理器宏创建一个字符串
- 6. 如何在Code Composer Studio 4中添加预处理器定义?
- 7. YAML预处理器/宏处理器
- 8. CMake:如何通过预处理器宏
- 9. 预处理器定义 - 提示构建?
- 10. BOOST加固指南(预处理器宏)
- 11. 获取预处理器宏
- 12. 预处理器宏变量
- 13. 预处理宏
- 14. MSVC++预处理器 - 如何用编译器宏输出定义值?
- 15. 我如何看到预处理器宏扩展到使用/ P?
- 16. 通过Xcode方案添加预处理器定义
- 17. Xcode中的预处理器忽略目标预处理器宏
- 18. C预处理器测试多个宏的定义
- 19. 在gcc中已经定义了哪些C预处理器宏?
- 20. 访问预处理器宏定义的值
- 21. 测试宏内是否定义了预处理器符号
- 22. 自定义C++预处理器/类型宏
- 23. gcc为不同的SPARC处理器预定义了哪些宏?
- 24. 生成编译器定义预处理宏
- 25. 如何创建自定义库并将其添加到Gradle上
- 26. C预处理器如何将函数宏视为字符串
- 27. 与预处理宏
- 28. 预处理#定义
- 29. 如何将增强文档添加到qt创建者
- 30. 如何将qtWebKit模块添加到qt创建者?
我没有试过这个。我在Qt没有更多的工作。但我认为从您的答案来看,这可能是正确的。所以接受它现在为别人使用。 – Bharathwaaj 2012-02-22 23:10:36
它的工作原理是正确的。 – 2012-08-11 00:27:03
这个工作,当我做文档说和“只使用.config文件添加行,如下面的例子”。我希望“.config文件是一个普通的C++文件”,这意味着我也可以在那里使用#ifdef/#end/#endif,但会产生奇怪的结果。这是否应该工作? – anr78 2013-05-30 07:57:17