gSOAP生成的onvif框架代码太大了,可以通过以下方法裁剪
1. 编译选项
-DWITH_NOIDREF
2. 修改生成的代码,去掉所有的soap_default_xxx,这些函数里面都是将结构体的成员置为0的,完全可以用memset来代替。
修改方法:首先删掉这些函数:
用正则表达式替换原来的函数为memset即可。
% s/soap_default_\([_a-zA-Z0-9]*\)[ ]*(soap, \(.*\));/memset(\2, 0, sizeof(struct \1));/g
<P> % s/struct byte/char/g</P> ……