gSOAP 2.8.30与VS6 C ++的兼容性

时间:2016-04-19 10:17:01

标签: c++ c windows gsoap

我尝试使用gSOAP 2.8.30编译我的窗口应用程序但是我发现了一个错误

  

wctomb_s未声明的标识符

所以,如果最新的gSOAP与VC6 ++不兼容,我只是徘徊,因为这个错误来自stdsoap2.cpp。在此之前,我使用gSOAP 2.8.6工作正常。

1 个答案:

答案 0 :(得分:0)

VS6 C ++不支持wctomb_s(推荐更安全的wctomb版本)。通过替换以下内容升级到较新的VS C ++版本或更新stdsoap2.cpp函数soap_string_in中的代码:

#ifdef WIN32
        m = 0;
        wctomb_s(&m, buf, sizeof(buf), (wchar_t)(c & 0x7FFFFFFF));
#else
        m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));
#endif  

使用:

        m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF));

在使用wctomb_s的两个位置。