Патч для исправления этой проблемы:
- изменить
gsoap/src/symbol2.c
строку 11201 и вставить
if (is_wstring(typ)) /* wchar_t* is serializable but wchar_t is transient */
return 0;
Первая часть функции is_transient
должна выглядеть следующим образомэто:
int
is_transient(Tnode *typ)
{
if (!typ)
return 1;
if (typ->type == Tstruct && typ->id == lookup("soap"))
return 1;
if (is_external(typ) || is_volatile(typ))
return 0;
if (typ->transient > 0)
return 1;
if (is_wstring(typ)) /* wchar_t* is serializable but wchar_t is transient */
return 0;
снова запустите
make
, вы можете сделать это в каталоге
gsoap/src
.Это создаст soapcpp2 в каталоге
gsoap/src
.Скопируйте soapcpp2 в свой проект или в каталог bin вашего
$PATH
.