我试图创建一个客户端为C.我生成与wsdl2h和soapcpp2 C文件的Web服务。 在NetBeans中,我添加了生成的文件和gSOAP的include目录到项目的include目录。 我的主要文件是这样的:
#include <stdio.h>
#include <stdlib.h>
#include <soapH.h>
#include <webserviceSoap12.nsmap>
int main(int argc, char** argv) {
struct soap *soap1 = soap_new();
struct _ns1__getAllCustomer *quote;
struct _ns1__getAllCustomerResponse *quote2;
if (soap_call___ns2__getAllCustomer(soap1, NULL, NULL, quote, quote2) == SOAP_OK)
printf("asd\n");
else // an error occurred
soap_print_fault(soap1, stderr); // display the SOAP fault on the stderr stream
return (EXIT_SUCCESS);
}
我复制了最本从gSOAP的网站的入门部分。 当我尝试编译我收到以下错误:
build/Debug/MinGW-Windows/main.o: In function `main':
\NetBeansProjects\WebServiceClient/main.c:19: undefined reference to `soap_new_LIBRARY_VERSION_REQUIRED_20808'
\NetBeansProjects\WebServiceClient/main.c:22: undefined reference to `soap_call___ns2__getAllCustomer'
\NetBeansProjects\WebServiceClient/main.c:25: undefined reference to `soap_print_fault'
如果我的“soapC.c”“soapClient.c”“soapClientLib.c”将文件添加到项目中,我得到了一堆更undefinied参考。 我究竟做错了什么? 我使用NetBeans IDE与Win7的MinGW的编译器。 我需要什么其他的库或者我应该包括哪些其他文件?