我正在尝试使用 gsoap 和 Web 服务。我已经使用 wsdl2h 和 soapcpp2 生成了所有 *.h 和 *.cpp,包括所有库,至少我是这么认为的,但是当我构建项目时,它给了我对很多方法的未定义引用的消息。问题是所有方法都在soapH.h(原型)和soapC.cpp(实现)中声明。
任何帮助将不胜感激。
似乎您在构建中包含了一些生成的头文件,这不应该。(例如wsdl生成的.h文件) 每个生成的文件的注释部分都有说明,您最好阅读它们以熟悉如何使用它们。此外,如果您使用 openssl,则在链接过程中也应包含该库(-lssl)
解决了,我只需要原始头文件,我从 wsdl 中得到一个。
万一有人遇到这个问题:你不必在你的 makefile 中包含所有的 .cpp 文件——其中一些被另一个包含。您需要什么还取决于您是构建客户端还是服务器。
请参阅此处的文档以查看需要哪些文件以及需要哪些文件。