在CPP项目中预编译头和从wsdl文件生成的C.

时间:2015-03-24 11:02:27

标签: c++ visual-c++ svcutil.exe

我正在CPP中创建简单的Web服务客户端。我在svcutil ans wsutil utilites的帮助下从WSDL生成了源文件。最后,我获得了Web服务接口headerC文件。

当我将C文件包含到使用预编译头的控制台应用程序中时,我有消息:

Error   3   error C1853: 'Debug\TestLib3.pch' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ and you are using it from C (or vice versa)  

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

C编译器不能使用由C ++编译器生成的.pch文件。两个基本选项:

  • 将.c文件重命名为.cpp,可能在自动生成的源文件上正常工作。

  • 右键单击解决方案资源管理器窗口中的.c文件,属性,C / C ++,预编译头文件,“预编译头文件”选项。将其更改为“不使用”。您可能还需要修改#include .h文件的C ++源文件,它可能需要围绕#include指令extern "C" {},因此C ++编译器知道.h文件包含C声明。当您收到显示函数名称错误的链接器错误时,您就会知道这是必需的。