gpt4 book ai didi

c++ - gsoap 最新版本生成的代码与我们使用的版本不同

转载 作者:行者123 更新时间:2023-11-28 05:34:12 28 4
gpt4 key购买 nike

我们正在将 gsoap 版本从 2.7.8 升级到最新版本 2.8.33

当我们的 make 文件使用完全相同的标志运行 soapcpp2.exe 和 wsdl2h.exe 时,我没有得到完全相同的类和 API,所以我想我必须稍微调整一下它们。

我们曾经使用这些标志运行 soapcpp2.exe:-C -L -x -I

第一个明显的变化是类继承自 structs soap 而不是指向它们。我能够通过添加 -j 来解决这个兼容性问题。

现在,我遇到了另一个函数不兼容的问题

SOAP_FMAC5 int SOAP_FMAC6 soap_serve_request(struct soap *soap)

不存在。

我搜索了 gsoap 代码并找到了它,所以我想有一些方法可以让 gsoap 生成它。真的有办法让 gsoap 生成这个函数,还是我必须调整我的代码/自己编写函数

最佳答案

gsoap 工具有支持向后兼容的选项。运行 soapcpp2 -h 以查看您的选项:

Usage: soapcpp2 [-0|-1|-2] [-C|-S] [-T] [-Ecdt] [-L] [-a] [-A] [-b] [-c|-c++|-c++11] [-d path] [-e] [-f N] [-h] [-i] [-I path:path:...] [-l] [-m] [-n] [-p name] [-Q name] [-q name] [-r] [-s] [-t] [-u] [-v] [-w] [-x] [-y] [-z#] [infile]
...
...
-z1 compatibility: generate old-style C++ service proxies and objects
-z2 compatibility with 2.7.x: omit XML output for NULL pointers
-z3 compatibility with 2.8.30 and earlier: _param_N is indexed globally

试试 -z1

附言。使用选项 -z1 的旧代理和服务类更加简单,使用选项 -j 生成的新类是一个改进。但是,当您使用 -j 生成服务类时,具有全局函数的类 C API 消失了(IMO 是件好事)。

关于c++ - gsoap 最新版本生成的代码与我们使用的版本不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38697526/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com