stevanxiao 2017-12-02 12:22
浏览 669

VS2008 非托管C++调用WebService ATL文件报错

小弟MFC新手一枚,最近公司有个项目升级功能,需要调用WebService服务接口,项目的开发环境是VS2008,基于MFC对话框。根据网上VS2008调用WebService的方法,下载了开源代码 ATL_Server_Source_and_Headers_9_0_70425_Alpha.zip,利用生成的sproxy.exe工具把WebService 的wsdl文件生成了WS_Service1.h头文件,引入工程后,编译就生成如下错误,折腾好几天了,一直找不到原因,求大神指点看看什么原因,拜谢。。。(下周二功能要验收,问题没解决,人都要疯了,没办法了,只能到宝地求助)
PS:我自己重新新建了一个基于VS2008的MFC对话框工程,可以正常编译通过,只有公司的这个项目不行,会报如下错误。两个工程里面的属性设置我也对比过,是一样的,所以可以排除是开发环境的原因。

1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcom.h(5900) : error C2296: “>>”: 非法,左操作数包含“unsigned long ”类型
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(309) : error C2440: “return”: 无法从“DWORD”转换为“unsigned long *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(331) : error C2440: “return”: 无法从“DWORD_PTR”转换为“unsigned long *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(343) : error C2440: “=”: 无法从“UINT_PTR”转换为“unsigned long *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(391) : error C2664: “SymGetSymFromAddr”: 不能将参数 3 从“unsigned long *
”转换为“PDWORD”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(421) : error C2440: “=”: 无法从“unsigned long”转换为“unsigned long *”
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlutil.h(553) : error C2664: “StackWalk”: 不能将参数 7 从“LPVOID (__stdcall *)(HANDLE,unsigned long *)”转换为“PFUNCTION_TABLE_ACCESS_ROUTINE”
1> 在匹配目标类型的范围内没有具有该名称的函数
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcache.h(3044) : error C2144: 语法错误 : “unsigned long”的前面应有“)”
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlcache.h(3044) : error C2059: 语法错误 : “)”
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlisapi.h(10469) : warning C4005: “MAX_NAME_LEN”: 宏重定义
1> d:\code manage\ats\ats2 储能机\1源代码\rs485通讯\复件 ats410-00011-037_mes\ateprogram_chromadc_double\GWCommonPublic.h(146) : 参见“MAX_NAME_LEN”的前一个定义
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2406) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2406) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2406) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2406) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2474) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2474) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2474) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2474) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2475) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2475) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2475) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2475) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2624) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2624) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2624) : error C2446: “==”: 没有从“unsigned int”到“unsigned long *”的转换
1> 从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlhttp.inl(2624) : error C2040: “==”: “unsigned long *”与“unsigned int”的间接寻址级别不同
1>正在生成代码...

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘