我正在尝试编译gsoap-onvif项目:https://github.com/xris-hu/gsoap-onvif
我调用make文件,它会抛出一些错误。在ubuntu 18.10上工作,我解决了其中一些安装依赖项:g ++,gsoap,libssl-dev。不幸的是我有一个我无法理解的错误:
admin@UbuntuOS:~/Desktop/gsoap-onvif-master$ make
g++ -c -Wall -g -w -fPIC -DWITH_NONAMESPACES -fno-use-cxa-atexit -fexceptions -DWITH_DOM -DWITH_OPENSSL -DSOAP_DEBUG -I./include -I. stdsoap2.cpp -o stdsoap2.o
stdsoap2.cpp: In function ‘int tcp_connect(soap*, const char*, const char*, int)’:
stdsoap2.cpp:4406:52: error: ‘M_ASN1_STRING_data’ was not declared in this scope
{ if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name)))
^~~~~~~~~~~~~~~~~~
stdsoap2.cpp:4406:52: note: suggested alternative: ‘ASN1_STRING_data’
{ if (!soap_tag_cmp(host, (const char*)M_ASN1_STRING_data(name)))
^~~~~~~~~~~~~~~~~~
ASN1_STRING_data
make: *** [Makefile:22: stdsoap2.o] Error 1
有人知道如何解决这个问题吗?
更新:此项目中使用的gSOAP版本相当陈旧,可能无法与较新版本的OpenSSL一起使用。该项目可能已经死了......任何人都知道另一种选择?
替代方案:这是我找到的最佳解决方案:https://github.com/suresecure/onvifcpplib此库也用于https://sourceforge.net/projects/onvifmanager/