2016-04-19 3 views
0

Я пытаюсь скомпилировать мое приложение окно с gSOAP 2.8.30, но я нашел ошибку, котораяgSOAP 2.8.30 Совместимость с VS6 C++

wctomb_s необъявленный идентификатор

Так я просто бродил, если последний gSOAP несовместим с VC6 ++, поскольку эта ошибка исходит от stdsoap2.cpp. До этого я использую gSOAP 2.8.6, работает нормально.

+0

Это связано с кодированием. попробуйте выполнить компиляцию с параметром «набор символов», установленным на «unset»: Properties/General/Character Set. – norisknofun

+0

Благодарим вас за ответ. но в VC6 нет возможности изменить набор символов для отмены. – Acan1234

ответ

0

VS6 C++ не поддерживает wctomb_s (рекомендуется более безопасная версия wctomb). Обновление до более новой версии программы VS C++ или обновить код в функции stdsoap2.cppsoap_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 используется.