Hi, I'm trying to communicate with an embedded device using SOAP. I have made the stub files with axis WSDL2Ws and tried to compile them. But when I do this, I get a lot of 'undefined reference' errors.
I have tried including all the library files, and including only libaxis_client, but none of this works. I'm running axis 1.6b under Linux Debian Lenny and I'm programming in C++. I have pasted underneath: the output of make, the makefile and the program. Can anybody tell me how I could resolve this problem? Thanks, Sander --------------------> Make output <-------------------- ~/ilon-cpp$ make clean ; make rm -f *.o stub/*.o send g++ -c -Wall -Wno-unused -Wno-write-strings -I axisinclude/ -L axislib/ -I axisinclude/axis/ -L axislib/axis -laxislib/axis/axis_client -laxislib/axis/axis_server -laxislib/axis/axiscpp_mod -laxislib/axis/axiscpp_mod2 -laxislib/axis/axis_xerces -laxislib/axis/http_channel -laxislib/axis/http_channelssl send.cpp -o send.o g++ -c -Wall -Wno-unused -Wno-write-strings -I axisinclude/ -L axislib/ -I axisinclude/axis/ -L axislib/axis -laxislib/axis/axis_client -laxislib/axis/axis_server -laxislib/axis/axiscpp_mod -laxislib/axis/axiscpp_mod2 -laxislib/axis/axis_xerces -laxislib/axis/http_channel -laxislib/axis/http_channelssl stub/iLON100portType.cpp -o stub/iLON100portType.o g++ send.o stub/iLON100portType.o -o send stub/iLON100portType.o: In function `iLON100portType::InvokeCmd(Item_Coll*)': iLON100portType.cpp:(.text+0x28): undefined reference to `axiscpp::Call::initialize(axiscpp::PROVIDERTYPE)' iLON100portType.cpp:(.text+0x5a): undefined reference to `axiscpp::Call::getTransportProperty(char const*, bool)' iLON100portType.cpp:(.text+0x81): undefined reference to `axiscpp::Call::setTransportProperty(axiscpp::AXIS_TRANSPORT_INFORMATION_TYPE, char const*)' iLON100portType.cpp:(.text+0x97): undefined reference to `axiscpp::Call::setSOAPVersion(axiscpp::SOAP_VERSIONTag)' iLON100portType.cpp:(.text+0xb5): undefined reference to `axiscpp::Call::setOperation(char const*, char const*)' iLON100portType.cpp:(.text+0xc0): undefined reference to `axiscpp::Stub::includeSecure()' iLON100portType.cpp:(.text+0xcb): undefined reference to `axiscpp::Stub::applyUserPreferences()' iLON100portType.cpp:(.text+0xe1): undefined reference to `axiscpp::Call::getNamespacePrefix(char const*)' iLON100portType.cpp:(.text+0x117): undefined reference to `Axis_Delete_Item_Coll(Item_Coll*, bool, int)' iLON100portType.cpp:(.text+0x11f): undefined reference to `Axis_Serialize_Item_Coll(Item_Coll*, axiscpp::IWrapperSoapSerializer*, bool)' iLON100portType.cpp:(.text+0x12e): undefined reference to `axiscpp::Call::addCmplxParameter(void*, void*, void*, char const*, char const*)' iLON100portType.cpp:(.text+0x13c): undefined reference to `axiscpp::Call::invoke()' iLON100portType.cpp:(.text+0x163): undefined reference to `axiscpp::Call::checkMessage(char const*, char const*)' iLON100portType.cpp:(.text+0x18a): undefined reference to `Axis_Delete_Item_Coll(Item_Coll*, bool, int)' iLON100portType.cpp:(.text+0x192): undefined reference to `Axis_Create_Item_Coll(Item_Coll*, bool, int)' iLON100portType.cpp:(.text+0x19a): undefined reference to `Axis_DeSerialize_Item_Coll(Item_Coll*, axiscpp::IWrapperSoapDeSerializer*)' iLON100portType.cpp:(.text+0x1a2): undefined reference to `axiscpp::Call::getCmplxObject(void*, void*, void*, char const*, char const*)' iLON100portType.cpp:(.text+0x1b3): undefined reference to `axiscpp::Call::unInitialize()' iLON100portType.cpp:(.text+0x20c): undefined reference to `axiscpp::Call::unInitialize()' iLON100portType.cpp:(.text+0x22f): undefined reference to `axiscpp::Call::checkFault(char const*, char const*)' iLON100portType.cpp:(.text+0x273): undefined reference to `axiscpp::Call::getFaultAsXMLString()' iLON100portType.cpp:(.text+0x2f2): undefined reference to `axiscpp::OtherFaultException::OtherFaultException(char const*, char const*, char const*, char const*, int)' iLON100portType.cpp:(.text+0x311): undefined reference to `axiscpp::Axis::AxisDelete(void*, axiscpp::XSDTYPETag)' iLON100portType.cpp:(.text+0x31f): undefined reference to `axiscpp::Call::unInitialize()' iLON100portType.cpp:(.text+0x358): undefined reference to `axiscpp::OtherFaultException::OtherFaultException(axiscpp::OtherFaultException const&)' iLON100portType.cpp:(.text+0x360): undefined reference to `axiscpp::OtherFaultException::~OtherFaultException()' iLON100portType.cpp:(.text+0x368): undefined reference to `typeinfo for axiscpp::OtherFaultException' iLON100portType.cpp:(.text+0x39b): undefined reference to `axiscpp::OtherFaultException::~OtherFaultException()' iLON100portType.cpp:(.text+0x3b1): undefined reference to `axiscpp::Call::unInitialize()' stub/iLON100portType.o: In function `iLON100portType::Clear(Item_Coll*)': ... (a lot of repeats here) iLON100portType.cpp:(.text+0x1f52): undefined reference to `axiscpp::OtherFaultException::~OtherFaultException()' iLON100portType.cpp:(.text+0x1f5a): undefined reference to `typeinfo for axiscpp::OtherFaultException' iLON100portType.cpp:(.text+0x1f8d): undefined reference to `axiscpp::OtherFaultException::~OtherFaultException()' iLON100portType.cpp:(.text+0x1fa3): undefined reference to `axiscpp::Call::unInitialize()' stub/iLON100portType.o: In function `iLON100portType::~iLON100portType()': iLON100portType.cpp:(.text+0x2006): undefined reference to `axiscpp::Stub::~Stub()' stub/iLON100portType.o: In function `iLON100portType::~iLON100portType()': iLON100portType.cpp:(.text+0x2036): undefined reference to `axiscpp::Stub::~Stub()' stub/iLON100portType.o: In function `iLON100portType::~iLON100portType()': iLON100portType.cpp:(.text+0x2066): undefined reference to `axiscpp::Stub::~Stub()' stub/iLON100portType.o: In function `iLON100portType::iLON100portType(char const*, axiscpp::AXIS_PROTOCOL_TYPE)': iLON100portType.cpp:(.text+0x209b): undefined reference to `axiscpp::Stub::Stub(char const*, axiscpp::AXIS_PROTOCOL_TYPE)' stub/iLON100portType.o: In function `iLON100portType::iLON100portType(char const*, axiscpp::AXIS_PROTOCOL_TYPE)': iLON100portType.cpp:(.text+0x20c5): undefined reference to `axiscpp::Stub::Stub(char const*, axiscpp::AXIS_PROTOCOL_TYPE)' stub/iLON100portType.o: In function `iLON100portType::iLON100portType()': iLON100portType.cpp:(.text+0x20f3): undefined reference to `axiscpp::Stub::Stub(char const*, axiscpp::AXIS_PROTOCOL_TYPE)' iLON100portType.cpp:(.text+0x2112): undefined reference to `axiscpp::Call::setEndpointURI(char const*)' iLON100portType.cpp:(.text+0x2127): undefined reference to `axiscpp::Stub::~Stub()' stub/iLON100portType.o: In function `iLON100portType::iLON100portType()': iLON100portType.cpp:(.text+0x2161): undefined reference to `axiscpp::Stub::Stub(char const*, axiscpp::AXIS_PROTOCOL_TYPE)' iLON100portType.cpp:(.text+0x2180): undefined reference to `axiscpp::Call::setEndpointURI(char const*)' iLON100portType.cpp:(.text+0x2195): undefined reference to `axiscpp::Stub::~Stub()' stub/iLON100portType.o:(.rodata._ZTI15iLON100portType[typeinfo for iLON100portType]+0x8): undefined reference to `typeinfo for axiscpp::Stub' collect2: ld returned 1 exit status make: *** [send] Error 1 --------------------> send.cpp <-------------------- #include "stub/iLON100portType.hpp" #include <axis/client/Stub.hpp> using namespace std; int main(int argc, char** argv) { iLON100portType *doRead = new iLON100portType; delete doRead; return 0; } --------------------> makefile <-------------------- CC=g++ EXTRACFLAG=-laxislib/axis/axis_client -laxislib/axis/axis_server -laxislib/axis/axiscpp_mod -laxislib/axis/axiscpp_mod2 -laxislib/axis/axis_xerces -laxislib/axis/http_channel -laxislib/axis/http_channelssl CFLAGS=-c -Wall -Wno-unused -Wno-write-strings -I axisinclude/ -L axislib/ -I axisinclude/axis/ -L axislib/axis $(EXTRACFLAG) LDFLAGS= SOURCES1=send.cpp stub/iLON100portType.cpp OBJECTS1=$(SOURCES1:.cpp=.o) EXECUTABLE1=send all: $(EXECUTABLE1) $(EXECUTABLE1): $(OBJECTS1) $(CC) $(LDFLAGS) $(OBJECTS1) -o $@ .cpp.o: $(CC) $(CFLAGS) $< -o $@ clean: rm -f *.o stub/*.o $(EXECUTABLE1) ---------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: c-user-unsubscr...@axis.apache.org For additional commands, e-mail: c-user-h...@axis.apache.org