2013-10-09 5 views
1

기본적으로 저는 Java 개발자이고 Java를 사용하여 만든 웹 서비스가 있습니다. 이제 Java WS를 사용하기 위해 C로 코딩 된 클라이언트가 필요합니다. 많은 서핑을 한 후, 나는 WS에 대한 지원을 gSOAP로 받았다.gSOAP - 정의되지 않은 참조 gcc.exe를 사용하는 Windows에서 오류가 발생했습니다.

이제 헤더 파일과 해당 스텁 클래스를 생성 할 수있었습니다. 나는 또한 실제 프록시 메소드를 호출 할 메인 클래스를 만들었지 만, 몇 가지 이유 때문에 내 코드가 전혀 컴파일되지 않는다.

  1. wsdl2h.exe -c -o calc.h calc.wsdl
  2. soapcpp2.exe -C calc.h
  3. gcc.exe -o CalcClient : 내가 뭐하는 거지의

    단계 CalcClient.c soapC.c soapClient.c stdsoap2.c

처음 두 단계는 훌륭하지만 정의되지 않은 참조 오류로 인해 문제가되는 3 단계 만 있습니다. Windows 플랫폼에서 위의 코드를 실행하고 gcc 컴파일러는 Bloodshed Dev tool에서 제공합니다.

3 단계 (몇줄 .. 복사) 할 때 수행되는 내가 오류,
CalcClient.C : 5 : 미정 참조 soap_new_LIBRARY_VERSION_REQUIRED_20816'
CalcClient.C:7: undefined reference to
에 soap_call_ns2__add '
CalcClient.C : 10 : soap_print_fault'
CalcClient.C:11: undefined reference to
에 정의되지 않은 참조 soap_end \의 TEMP/ccS0iaaa.o (는 .text + 0x224)
C '
및 C : \의 TEMP/ccS0iaaa.o (0x129는 .text +) : stdsoap2.c [email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x154):stdsoap2.c: undefined reference to
에 정의 기준은 16 @ 보내' stdsoap2.c : [email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x24f):stdsoap2.c: undefined reference to
에 대한 정의되지 않은 참조가 @ 16 '을 전송합니다.
C : \ TEMP/ccS0iaaa.o (.text + 0x28b) : stdsoap2.c : 정의되지 않은 참조 ce to [email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x4a9b):stdsoap2.c: undefined reference to
inet_addr @ 4

나는 분명히 뭔가 잘못하고있는 것을 알고 있습니다. (저는 C가 처음이에요.) 나는 생각할 수있는 모든 옵션을 시도했습니다. 여기서 도와 주시겠습니까?

답변

0

나는 비슷한 문제가있었습니다. 주로 stdsoap2.cpp 또는 stdsoap2.c를 포함하지 않았기 때문에 주로 발생했습니다. stdsoap2.cpp 파일을 gsoap 폴더의 프로젝트 폴더에 넣은 다음 프로그램을 실행하여 정상적으로 작동했습니다.