在Visual Studio(2012)中使用WPP时,TraceEvents(...)
的每个出现都有一个波浪下划线,帮助文本就是这样。
#define TraceEvents WPP_(CALL)
error: identifier WPP_Call_Foo_cppNNN not defined
嗯,它是在WPP预处理器创建的.tmh头文件中定义的,项目编译得很好。但Visual Studio不会扫描和/或识别此文件 是否有摆脱那些波浪的实用方法?
答案 0 :(得分:4)
编辑Visual Studio 2012:
您似乎已达到Visual Studio 2012的IntelliSense引擎中预处理器的分析限制。如果您将TraceEvents
引用替换为WPP_Call_Foo_cppNNN
,它实际上会解析标识符(直到您重建解决方案并且 tmh 标题更改)。
解决方案是在Visual Studio 2013中加载解决方案,并选择不升级编译器工具链,从而保持与Visual Studio 2012的向后兼容性。
Visual Studio 2013的上一个答案:
这是在Visual Studio 2013中测试的,因此它可能不适用于Visual Studio 2012.我找不到支持Visual Studio 2012的WDK版本,因此您需要让我知道如何配置环境,如果以下步骤不起作用。
构建项目后(为确保存在 .tmh 文件),执行项目→重新扫描解决方案命令。
我还建议您通过以下步骤将文件与C ++编辑器关联:
答案 1 :(得分:4)
现在我通过添加
解决问题#ifdef __INTELLISENSE__
#undef TraceEvents
#define TraceEvents(a,b,...)
#endif
无论如何,在所有文件中包含在.tmh之后的一个头文件中 http://blogs.msdn.com/b/vcblog/archive/2011/03/29/10146895.aspx
中提到了定义__INTELLISENSE__
答案 2 :(得分:3)
关闭Live Semantic Errors
中的Options->Text Editor->C/C++ -> Advanced
...