C++ Visual Studio 编译错误
Posted
技术标签:
【中文标题】C++ Visual Studio 编译错误【英文标题】:C++ Visual Studio Compilation error 【发布时间】:2009-01-30 00:27:52 【问题描述】:我得到以下编译错误
致命错误 C1189: #error : ERROR: Use of C runtime library internal header file.
我完全不知道。有人能解释一下吗?
完整的错误:
C:\Program Files\Microsoft Visual Studio 8\VC\ce\include\crtdefs.h(100):致命错误 C1189:#error:错误:使用 C 运行时库内部头文件。正在生成代码...
【问题讨论】:
希望您包含产生错误的代码或文件名。 C:\Program Files\Microsoft Visual Studio 8\VC\ce\include\crtdefs.h(100):致命错误 C1189:#error:错误:使用 C 运行时库内部头文件。生成代码... 【参考方案1】:您的包含目录搜索路径中可能有crt/src
。那里的头文件用于构建 C 运行时 - 它们不打算在用户程序中使用(即使它们可能与打算包含的文件具有相同的名称)。
如果您查看导致问题的标题,您可能会看到如下内容:
/* This version of the header files is NOT for user programs.
* It is intended for use when building the C runtimes ONLY.
* The version intended for public use will not have this message.
*/
您需要修复包含搜索路径。
我看到您的包含搜索路径中有ce/include
- 您正在构建 WinCE 应用程序吗?如果是这样,您的构建应该定义_WIN32_WCE
以防止出现此问题。如果不是,则此目录不应在包含路径中。
【讨论】:
这与我的问题很接近。我不得不将我的解决方案中的类库的目标平台从 PocketPC 切换到 Win32。不知道它是如何开始的......【参考方案2】:为了增加一点精度,在我的例子中,我只需要更改我使用的一个 .h 文件的包含路径,如下所示。
我从这个包含路径开始:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\crt\src
然后改成:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include
这是正确的头文件所在的位置。
【讨论】:
我知道这是一个老问题,但我想要一点支持。你在哪里修改了包含路径?我查看了 ../common/wince/qmake.conf 和当前的 qmake.conf,但找不到。任何帮助将不胜感激 @Giox79 不幸的是,我完全忘记了我的项目是什么,但是您可以在 VC++ 中更改项目的附加包含目录。项目属性 >(调试/发布/等)> C/C++ > 附加包含目录。 link This page has further details 虽然 VC++ 现在不喜欢使用第三个选项。以上是关于C++ Visual Studio 编译错误的主要内容,如果未能解决你的问题,请参考以下文章
奇怪的 Visual Studio 2008 C++ 编译器错误
Visual Studio 2015 Update 1 中的 C++ 内部编译器错误
Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)