最近在做微信离线支付功能,工程中添加了微信提供的libwxcodepay.a文件后,编译出现告警,告警信息如截图中所示:
原因可能是因为gcc默认使用 4字节大小的wchar_t,而微信的库文件中设置了2字节大小,导致产生此告警。
经过一番查找,发现可通过设置-fshort-wchar,改变工程中wchar_t的大小,但这个可能会引起其他不可预知的问题,所以还是考虑暂时将告警屏蔽。
--no-wchar-size-warning可以屏蔽告警,且此参数是设置给链接器ld.exe的,需要在工程属性中增加配置参数。
Project - Properties - C/C++ Build - Settings - Tool Settings - MCU Linker - Miscellaneous
Other linker flags填入 -Wl,--no-wchar-size-warning
参考资料:
wchar_t warning when linking with library generate... - NXP Community