我正在CPP中创建简单的Web服务客户端。我在svcutil
ans wsutil
utilites的帮助下从WSDL生成了源文件。最后,我获得了Web服务接口header
和C
文件。
当我将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)
如何解决这个问题?
答案 0 :(得分:0)
C编译器不能使用由C ++编译器生成的.pch文件。两个基本选项:
将.c文件重命名为.cpp,可能在自动生成的源文件上正常工作。
右键单击解决方案资源管理器窗口中的.c文件,属性,C / C ++,预编译头文件,“预编译头文件”选项。将其更改为“不使用”。您可能还需要修改#include .h文件的C ++源文件,它可能需要围绕#include指令extern "C" {}
,因此C ++编译器知道.h文件包含C声明。当您收到显示函数名称错误的链接器错误时,您就会知道这是必需的。