首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带ssl支持的gSoap wsdl2h.exe编译MinGW?

如何使用带ssl支持的gSoap wsdl2h.exe编译MinGW?
EN

Stack Overflow用户
提问于 2022-09-21 07:45:45
回答 1查看 55关注 0票数 0

我在windows XP 32 bit中工作(我意识到它是旧的,但是要执行这个项目,我别无选择),我使用的是MinGW gcc版本是gcc.exe (MinGW.org GCC-6.3.0-1) 6.3.0.

MinGW安装在目录C:\MinGW中

我使用msys下载库:

  • mingw32-pthreads-w32

  • msys-libopenssl

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"

我运行了./configuremake

当编译器试图构建wsdl2h.exe时,我得到:

代码语言:javascript
复制
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的方法正确吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-30 09:21:34

你应该试试32位MinGW-w64。由于您正在使用Windows,您可能需要获得一个更旧的版本,但它仍然比普通的MinGW更符合标准。

这也将降低对单独的mingw32-plins-w32库的依赖,这显然会给您带来问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73797094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档