我有简单的控制台应用程序,是另一个解决方案的一部分。我决定在新解决方案中单独使用此应用程序。打开此应用程序并保存在新创建的解决方案后,我遇到以下错误:
Error 9 error C2059: syntax error : ')' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12984
Error 4 error C2065: 'PCONTEXT' : undeclared identifier c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12983
Error 10 error C2143: syntax error : missing ';' before '__stdcall' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 13372
Error 5 error C2146: syntax error : missing ')' before identifier 'ContextRecord' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12984
Error 1 error C2146: syntax error : missing ';' before identifier 'ContextRecord' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 6361
Error 7 error C2182: 'RtlCaptureContext' : illegal use of type 'void' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12984
Error 8 error C2491: 'RtlCaptureContext' : definition of dllimport data not allowed c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12984
Error 13 error C3861: '__readfsdword': identifier not found c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 14982
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 6361
Error 3 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 6361
Error 11 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 13372
Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 13376
14 IntelliSense: identifier "PCONTEXT" is undefined c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 6361
15 IntelliSense: identifier "PCONTEXT" is undefined c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12983
16 IntelliSense: identifier "PCONTEXT" is undefined c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 13371
Warning 6 warning C4229: anachronism used : modifiers on data are ignored c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h 12984
创建新的控制台应用程序比找到那种情况下的错误要容易得多,但为了获得更多的经验,我决定找出问题所在。我已经比较了这两个应用程序的C/C++
和Linker
设置(新创建的编译应用程序和一个有错误的应用程序),并且发现它们之间没有差异。哪里可能有问题,减缓这些问题的方法是什么?
答案 0 :(得分:0)
如果有人像我一样通过 Google 发现这一点:对于 CLI/C++ 项目,请确保您包含的任何非托管 .cpp 文件都设置为在不支持 CLR 的情况下进行编译。请参阅以下链接以及 Hans Passant 的回答。
这为我解决了这个问题。