나는 우분투에서 C++ 코드로 작업하고 있습니다. 서버에 연결하기 위해 gsoap을 사용하고 있습니다. 나는 필요한 모든 데이터를 얻었습니다. 또한 서버에 연결하는 데 성공했습니다. 아직도 나는 질문이있다. 왜 커맨드 라인에 다음을 써야합니까 : g ++ test_server.cpp -o testServ libgsoap ++. 내 폴더에 모든 종속성을 포함시킨 경우 내 명령 줄에 libgsoap ++. a를 포함해야하는 이유는 무엇입니까? 편집 :.gsoap - -lcrypt를 사용하여 컴파일
것은 내가 libgsoap ++를 포함하지 않는 경우 명령 줄에서 나는이 :
undefined reference to `soap_embed'
/tmp/ccyeN0df.o: In function `soap_serialize_string(soap*, char* const*)':
TEST.cpp:(.text+0xb9de): undefined reference to `soap_reference'
/tmp/ccyeN0df.o: In function `soap_out_string(soap*, char const*, int, char* const*, char const*)':
TEST.cpp:(.text+0xba15): undefined reference to `soap_outstring'
/tmp/ccyeN0df.o: In function `soap_in_string(soap*, char const*, char**, char const*)':
그러나 포함 : .h, .cpp 파일 (soap.h accpuntsoap.h ..)을 사용하여 내 .cpp 파일의 모든 종속 파일을 포함 시켰습니다. 왜 작동하지 않는거야? – sunset
include 파일에서 컴파일 타임 종속성 만 지정합니다. 또한 해당 오브젝트 코드 (이 경우 공유 라이브러리에 있음)와 링크해야합니다. –