Vol*_*erK 10 intellisense wdk visual-studio visual-studio-2012
在Visual Studio(2012)中使用WPP时,每个出现的TraceEvents(...)都有一个波浪下划线,帮助文本是例如
#define TraceEvents WPP_(CALL)
error: identifier WPP_Call_Foo_cppNNN not defined
Run Code Online (Sandbox Code Playgroud)
好吧,它是在WPP预处理器创建的.tmh头文件中定义的,项目编译得很好.但Visual Studio不扫描和/或识别此文件.
是否有摆脱那些波浪的实用方法?
现在我通过放置来解决这个问题
#ifdef __INTELLISENSE__
#undef TraceEvents
#define TraceEvents(a,b,...)
#endif
Run Code Online (Sandbox Code Playgroud)
在所有文件中 .tmh 之后包含的头文件之一中。http://blogs.msdn.com/b/vcblog/archive/2011/03/29/10146895.aspx 中提到了
定义__INTELLISENSE__
针对 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++ 编辑器关联:
| 归档时间: |
|
| 查看次数: |
1609 次 |
| 最近记录: |