使用gSoap生成C++代码 error LNK2019: 无法解析的外部符号

yangjian578 2014-12-20 10:39:23
最近想使用gSoap,却一直没成功,故来论坛求助:
首先我定义了一个头文件add.cpp,内容如下:
int ns__add( int num1, int num2, int* sum );  


然后我用命令: Soapcpp2 -S add.h生成相关代码,并将代码添加到工程中,工程内容如下所示:

添加完成后我试着编译工程,结果如下所示:
1>soapServer.obj : error LNK2019: 无法解析的外部符号 "int __cdecl ns__add(struct soap *,int,int,int *)" (?ns__add@@YAHPAUsoap@@HHPAH@Z),该符号在函数 "int __cdecl soap_serve_ns__add(struct soap *)" (?soap_serve_ns__add@@YAHPAUsoap@@@Z) 中被引用
1>F:\WorkSpace\SoapTest\Debug\SoapTest.exe : fatal error LNK1120: 1 个无法解析的外部命令


我看了一下,的确是没有生成这个函数的实现,求解!
...全文
752 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jonfond 2018-09-02
  • 打赏
  • 举报
回复
或者引用 soapClientLib.cpp

/** Use this file in your project build instead of the two files soapC.cpp and soapClient.cpp. This hides the serializer functions and avoids linking problems when linking multiple clients and servers. */
jonfond 2018-09-02
  • 打赏
  • 举报
回复
函数实现在 soapClient.cpp 里,需要添加到工程中
jianghuaijie 2017-06-14
  • 打赏
  • 举报
回复
实现ns_add()函数
活力鲇鱼 2017-02-23
  • 打赏
  • 举报
回复
我也遇到这个问题,请问楼主,该如何自我实现???
yangjian578 2014-12-21
  • 打赏
  • 举报
回复
原来int __cdecl ns__add(struct soap *,int,int,int *)是需要自己实现的,就是实际的接口实现。
FightForProgrammer 2014-12-20
  • 打赏
  • 举报
回复
记得Soapcpp2 -S add.h生成的代码在soapServer.cpp里面。你的Soapcpp的‘S’应该小写吧。也不知道大小写的会不会影响。。。 你可以去网上搜,这方面的资料很多 http://www.cppblog.com/qiujian5628/archive/2008/06/19/54019.html
FightForProgrammer 2014-12-20
  • 打赏
  • 举报
回复
我前面也用过这个东西,个人感觉多试试,总会搞出来的。。。
yangjian578 2014-12-20
  • 打赏
  • 举报
回复
引用 1 楼 FightForProgrammer 的回复:
记得Soapcpp2 -S add.h生成的代码在soapServer.cpp里面。你的Soapcpp的‘S’应该小写吧。也不知道大小写的会不会影响。。。 你可以去网上搜,这方面的资料很多 http://www.cppblog.com/qiujian5628/archive/2008/06/19/54019.html
Windows下,文件名是不区分大小写的,不是这个原因,我就是参考你给的链接的,结果没整成功。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧