我在windows XP 32 bit中工作(我意识到它是旧的,但是要执行这个项目,我别无选择),我使用的是MinGW gcc版本是gcc.exe (MinGW.org GCC-6.3.0-1) 6.3.0.
MinGW安装在目录C:\MinGW中
我使用msys下载库:
Msys下载C:\MinGW\msys\1.0\lib\目录下的openssl库
我已经复制了目录
C:\MinGW\msys\1.0\lib\openssl in C:\MinGW\lib\openssl
和
C:\MinGW\msys\1.0\include\openssl in C:\MinGW\include\openssl
和
C:\MinGW\msys\1.0\lib\libssl.* in C:\MinGW\lib\libssl.*
我已经设置了环境变量:
CPPFLAGS = "-DWITH_NO_C_LOCALE -DWITH_OPENSSL"
CXXFLAGS = "-DWITH_NO_C_LOCALE -DWITH_OPENSSL"
我运行了./configure和make
当编译器试图构建wsdl2h.exe时,我得到:
make[5]: Entering directory `/c/gSoap/gsoap-2.8/gsoap/wsdl'
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-wsdl2h.o -MD -MP -MF .deps/wsdl2h-wsdl2h.Tpo -c -o wsdl2h-wsdl2h.o `test -f 'wsdl2h.cpp' || echo './'`wsdl2h.cpp
mv -f .deps/wsdl2h-wsdl2h.Tpo .deps/wsdl2h-wsdl2h.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-wsdl.o -MD -MP -MF .deps/wsdl2h-wsdl.Tpo -c -o wsdl2h-wsdl.o `test -f 'wsdl.cpp' || echo './'`wsdl.cpp
mv -f .deps/wsdl2h-wsdl.Tpo .deps/wsdl2h-wsdl.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-wadl.o -MD -MP -MF .deps/wsdl2h-wadl.Tpo -c -o wsdl2h-wadl.o `test -f 'wadl.cpp' || echo './'`wadl.cpp
mv -f .deps/wsdl2h-wadl.Tpo .deps/wsdl2h-wadl.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-schema.o -MD -MP -MF .deps/wsdl2h-schema.Tpo -c -o wsdl2h-schema.o `test -f 'schema.cpp' || echo './'`schema.cpp
mv -f .deps/wsdl2h-schema.Tpo .deps/wsdl2h-schema.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-types.o -MD -MP -MF .deps/wsdl2h-types.Tpo -c -o wsdl2h-types.o `test -f 'types.cpp' || echo './'`types.cpp
mv -f .deps/wsdl2h-types.Tpo .deps/wsdl2h-types.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-service.o -MD -MP -MF .deps/wsdl2h-service.Tpo -c -o wsdl2h-service.o `test -f 'service.cpp' || echo './'`service.cpp
mv -f .deps/wsdl2h-service.Tpo .deps/wsdl2h-service.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-soap.o -MD -MP -MF .deps/wsdl2h-soap.Tpo -c -o wsdl2h-soap.o `test -f 'soap.cpp' || echo './'`soap.cpp
mv -f .deps/wsdl2h-soap.Tpo .deps/wsdl2h-soap.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-mime.o -MD -MP -MF .deps/wsdl2h-mime.Tpo -c -o wsdl2h-mime.o `test -f 'mime.cpp' || echo './'`mime.cpp
mv -f .deps/wsdl2h-mime.Tpo .deps/wsdl2h-mime.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-wsp.o -MD -MP -MF .deps/wsdl2h-wsp.Tpo -c -o wsdl2h-wsp.o `test -f 'wsp.cpp' || echo './'`wsp.cpp
mv -f .deps/wsdl2h-wsp.Tpo .deps/wsdl2h-wsp.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-bpel.o -MD -MP -MF .deps/wsdl2h-bpel.Tpo -c -o wsdl2h-bpel.o `test -f 'bpel.cpp' || echo './'`bpel.cpp
mv -f .deps/wsdl2h-bpel.Tpo .deps/wsdl2h-bpel.Po
g++ -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -MT wsdl2h-wsdlC.o -MD -MP -MF .deps/wsdl2h-wsdlC.Tpo -c -o wsdl2h-wsdlC.o `test -f 'wsdlC.cpp' || echo './'`wsdlC.cpp
mv -f .deps/wsdl2h-wsdlC.Tpo .deps/wsdl2h-wsdlC.Po
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -g -O2 -MT wsdl2h-httpda.o -MD -MP -MF .deps/wsdl2h-httpda.Tpo -c -o wsdl2h-httpda.o `test -f '../../gsoap/plugin/httpda.c' || echo './'`../../gsoap/plugin/httpda.c
mv -f .deps/wsdl2h-httpda.Tpo .deps/wsdl2h-httpda.Po
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../gsoap -I../../gsoap/plugin -DMINGW -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -DWITH_OPENSSL -DWITH_GZIP -g -O2 -MT wsdl2h-smdevp.o -MD -MP -MF .deps/wsdl2h-smdevp.Tpo -c -o wsdl2h-smdevp.o `test -f '../../gsoap/plugin/smdevp.c' || echo './'`../../gsoap/plugin/smdevp.c
mv -f .deps/wsdl2h-smdevp.Tpo .deps/wsdl2h-smdevp.Po
g++ -DWITH_OPENSSL -DWITH_GZIP -DWSDL2H_IMPORT_PATH="\"/usr/local/share/gsoap/WS\"" -m32 -DWITH_NO_C_LOCALE -DWITH_OPENSSL -L../../gsoap/wsdl -I../../gsoap -I../../gsoap/plugin -o wsdl2h.exe wsdl2h-wsdl2h.o wsdl2h-wsdl.o wsdl2h-wadl.o wsdl2h-schema.o wsdl2h-types.o wsdl2h-service.o wsdl2h-soap.o wsdl2h-mime.o wsdl2h-wsp.o wsdl2h-bpel.o wsdl2h-wsdlC.o wsdl2h-httpda.o wsdl2h-smdevp.o ../../gsoap/libgsoapssl++.a -lws2_32 -lkernel32 -luser32 -lgdi32 -lm -lssl -lcrypto -lz -lpthread
wsdl2h-httpda.o: In function `http_da_session_cleanup':
c:\gSoap\gsoap-2.8\gsoap\wsdl/../../gsoap/plugin/httpda.c:1498: undefined reference to `emulate_pthread_mutex_lock'
wsdl2h-httpda.o: In function `http_da_session_start':
c:\gSoap\gsoap-2.8\gsoap\wsdl/../../gsoap/plugin/httpda.c:1425: undefined reference to `emulate_pthread_mutex_lock'
wsdl2h-httpda.o: In function `http_da_session_update':
c:\gSoap\gsoap-2.8\gsoap\wsdl/../../gsoap/plugin/httpda.c:1460: undefined reference to `emulate_pthread_mutex_lock'
collect2.exe: error: ld returned 1 exit status
make[5]: *** [wsdl2h.exe] Error 1
make[5]: Leaving directory `/c/gSoap/gsoap-2.8/gsoap/wsdl'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/c/gSoap/gsoap-2.8/gsoap/wsdl'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/c/gSoap/gsoap-2.8/gsoap'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/c/gSoap/gsoap-2.8/gsoap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/c/gSoap/gsoap-2.8'
make: *** [all] Error 2似乎没有编译gsoap\plugin\threads.c文件。就好像.c文件在gsoap/plugin中没有编译指令
成功地生成了soapcpp2.exe。
我做错什么了?如何生成wsdl2h.exe?
我继续编译带有ssl支持的gSoap的方法正确吗?
发布于 2022-09-30 09:21:34
你应该试试32位MinGW-w64。由于您正在使用Windows,您可能需要获得一个更旧的版本,但它仍然比普通的MinGW更符合标准。
这也将降低对单独的mingw32-plins-w32库的依赖,这显然会给您带来问题。
https://stackoverflow.com/questions/73797094
复制相似问题