使用gsoap时无法识别wchar_t

本文介绍了在使用gsoap工具开发Webservices时遇到wchar_t未定义错误的原因及解决方法。错误通常发生在嵌入式开发中,可通过引入stddef.h头文件或重定义wchar_t为int类型来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

../app/../app/stdsoap2.h:1774: error: expected specifier-qualifier-list before 'wchar_t'
../app/../app/stdsoap2.h:1820: error: expected specifier-qualifier-list before 'wchar_t'
../app/../app/stdsoap2.h:2490: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../app/../app/stdsoap2.h:2497: warning: type defaults to 'int' in declaration of 'wchar_t'
../app/../app/stdsoap2.h:2497: error: expected ';', ',' or ')' before '*' token
../app/../app/stdsoap2.h:2498: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../app/../app/stdsoap2.h:2580: error: expected declaration specifiers or '...' before 'wchar_t'
../app/../app/stdsoap2.h:2601: warning: type defaults to 'int' in declaration of 'wchar_t'Finished building:../app/../app/logger.c

../app/../app/stdsoap2.h:2601: error: expected ';', ',' or ')' before '*' token
../app/../app/stdsoap2.h:2629: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../app/../app/stdsoap2.h:2630: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
../app/../app/stdsoap2.h:2653: error: expected declaration specifiers or '...' before 'wchar_t'
 
../app/../app/stdsoap2.h:2654: error: expected declaration specifiers or '...' before 'wchar_t'


如果在用gsoap工具开发Webservices时出现上述类似错误是,可在stdsoap2.h头文件中加入一个linux的头文件stddef.h
一般不会出现,因为出现这样的错误是因为wchar_t没定义,而在linux下是有相关定义的,这样的错误大多出现在嵌入式开发时用ARM一类的编译工具编译。
因为在linux下wchar_t是占用四个字节,这样就有了另一个解决办法,直接用重定义“typedef int wchar_t;”这样也可以解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕斯白狼

一个用心搞技术的路人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值