windows下vs2013工程调用onvif框架源码(带鉴权)
1、vs2013创建c++窗口工程,在源码目录下新建一个onvif文件夹用于存放框架源码,将下图中的红色框中的文件拷贝至onvif文件夹中,如何得到这些文件,请看上一篇博文,将.c文件改为.cpp即可。
2、在stdsoap2.cpp文件中添加#include “wsdd.nsmap”
3、引入openssl库,如何编译openssl库?,在工程源码目录下创建openssl文件夹,,将存放openssl库文件的x86文件夹直接整个拷贝到openssl文件夹下
4、配置属性,同时将libeasy32.dll和ssleasy32.dll文件拷贝至运行文件目录下,请看图:
编译报错(这个问题困扰博主很长一段时间):
解决办法:
编译成功
需要注意:
- 将.c文件改为.cpp,博主直接编译.c时失败
- 不能用extern “C”的方式包含头文件,否则编译时会提示很多无法解析外部符号的错误
- 鉴权函数 soap_wsse_add_UsernameTokenDigest 声明在wsseapi.h 文件中,调用时需包含该头文件