can you post the exact versions of ws4d-gsoap you used and the commands
you used to configure the cross compiled ws4d-gsoap?
Regards,
Elmar
--
*******************************************************************************
Dipl.-Inf. Elmar Zeeb
Universit�t Rostock, Fakult�t f. Informatik und Elektrotechnik
Institut f. Angewandte Mikroelektronik und Datentechnik
University of Rostock, Faculty of CS and EE
Institute of Applied Microelectronics and Computer Engineering,
18051 Rostock
Deutschland/Germany
Tel. : ++49 (0)381 498 - 7262
Fax : ++49 (0)381 498 - 7252
Email: elmar...@uni-rostock.de
www : http://www.imd.uni-rostock.de/, http://www.ws4d.org/
*******************************************************************************
Regards,
Elmar
>
> ############################################################################
> then I used it with the latest ndk-r5, I can build WS4D-gSOAP
> sucessfully
This looks better :-)
> but when I tried to build airconditioner it followed with these
> errors:
>
> make
> -DCMAKE_TOOLCHAIN_FILE=/home/guyacong/android/TNC/trunk/toolchains/
> android-ndk-1.6_r1.cmake
> -DGSOAP_PATH:PATH=/home/guyacong/android/TNC/gsoap-2.7/
> -DDPWS_PATH:PATH=/home/guyacong/android/TNC/install-cross/
> /home/guyacong/android/TNC/install-cross/share/doc/ws4d-gSOAP/example/
> CMake Error: File /home/guyacong/android/TNC/install-cross/share/doc/
> ws4d-gSOAP/example/toolchains/android-gcc.in does not exist.
Looks like the toolchain file works only for ws4d-gsoap itself but not
for external projects like the airconditioner. I will try to fix this
asap and commit this to the svn trunk.
What changes did you make to the toolchain file?
> it still could not find DPWS
Yeah this makes sense, as the toolchain file limits the cmake
find_library function to certain directories. The cross-compiled
ws4d-gsoap-installation is missing. You should specify the cmake
variables GSOAP_PATH DPWS_PATH DPWS_HOSTEXEC_PATH direct at the cmake
command line
>
>
> -- Found gSOAP in: /home/guyacong/android/TNC/gsoap-2.7
> -- Could NOT find Threads (missing: Threads_FOUND)
> CMake Error at cmake-modules/FindDPWS.cmake:797 (MESSAGE):
> Could not find DPWS in
> /home/guyacong/android/TNC/install-cross;/usr;/usr/local
> Call Stack (most recent call first):
> CMakeLists.txt:56 (FIND_PACKAGE)
>
>
> CMake Error at cmake-modules/FindPackageHandleStandardArgs.cmake:57
> (MESSAGE):
> Could NOT find Threads (missing: Threads_FOUND)
> Call Stack (most recent call first):
> /usr/share/cmake/Modules/FindThreads.cmake:157
> (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
> CMakeLists.txt:60 (FIND_PACKAGE)
>
>
> -- Configuring incomplete, errors occurred!
>
>
>
> You said "There are some incompatibilities with the header files of
> the ndk but I can guide you to fix them"
If you could cross compile with ndk-r5, then these incompatibilities
should be fixed in ndk-r5. I used an older version where ws4d-gsoap did
not compile.
Regards,
Elmar
I have comitted a reworked android ndk toolchain file and a reworked
airconditioner example that should fix all the problems you had bevore.
I also started to document the android ndk support -
http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap/wiki/AndroidNDK
Regards,
Elmar
--
*******************************************************************************
Dipl.-Inf. Elmar Zeeb
Universit�t Rostock, Fakult�t f. Informatik und Elektrotechnik
Institut f. Angewandte Mikroelektronik und Datentechnik
University of Rostock, Faculty of CS and EE
Institute of Applied Microelectronics and Computer Engineering,
18051 Rostock
Deutschland/Germany
Tel. : ++49 (0)381 498 - 7262
Fax : ++49 (0)381 498 - 7252
Email: elmar...@uni-rostock.de
www : http://www.imd.uni-rostock.de/, http://www.ws4d.org/
*******************************************************************************
I simply changed stdsoap2.h and stdsoap2.c to fix this problem. But i
didn't test if the executables run on a device.
It looks like the ndk doesn't define the preprocessor definitions of
glibc properly like __GLIBC__ and __GNU__.
Changes to stdsoap2.c of gsoap version 2.7.13:
Line 3598: host = gethostbyname_r(addr, &hostent, soap->buf,
SOAP_BUFLEN, &host, &soap->errnum);
Changes to stdsoap2.h:
Line 464: //# define HAVE_WCTOMB
Line 465: //# define HAVE_MBTOWC
Regards,
Elmar
--
*******************************************************************************
Dipl.-Inf. Elmar Zeeb
Universit�t Rostock, Fakult�t f. Informatik und Elektrotechnik
Institut f. Angewandte Mikroelektronik und Datentechnik
University of Rostock, Faculty of CS and EE
Institute of Applied Microelectronics and Computer Engineering,
18051 Rostock
Deutschland/Germany
Tel. : ++49 (0)381 498 - 7262
Fax : ++49 (0)381 498 - 7252