cvBlob 作为静态库链接问题
场景
由于编译的时候,代码生成的运行库选择MDd,但是看到在堆中释放资源的时候,开始出错,并且是在dll中释放资源出错,初步怀疑是在不同的模块中申请和释放资源导致的问题,问题是在所有的dll中生成都是使用MDd,原则应该没有什么问题。预计将cvBlob的代码拷贝到测试例子中,而不是作为静态库加载看看是否会避免崩溃的问题
ntdll.dll!00000000775c9e51()
[下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
ntdll.dll!00000000775a6965()
ntdll.dll!000000007753ec51()
KernelBase.dll!000007fefd55304a()
> cvblobDLL.dll!_CrtIsValidHeapPointer(const void * pUserData=0x0000000000417530) 行 2036 C++
cvblobDLL.dll!_free_dbg_nolock(void * pUserData=0x0000000000417530, int nBlockUse=1) 行 1322 + 0xa 字节 C++
cvblobDLL.dll!_free_dbg(void * pUserData=0x0000000000417530, int nBlockUse=1) 行 1265 + 0xe 字节 C++
cvblobDLL.dll!operator delete(void * pUserData=0x0000000000417530) 行 54 + 0x12 字节 C++
cvblobDLL.dll!std::allocator<std::_Tree_nod<std::_Tmap_traits<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> >,0> >::_Node>::deallocate(std::_Tree_nod<std::_Tmap_traits<unsigned int,cvb::CvTrack *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack *> >,0> >::_Node * _Ptr=0x0000000000417530, unsigned __int64 __formal=1) 行 183 C++
cvblobDLL.dll!std::_Tree_val<std::_Tmap_traits<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> >,0> >::~_Tree_val<std::_Tmap_traits<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> >,0> >() 行 556 C++
cvblobDLL.dll!std::_Tree<std::_Tmap_traits<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> >,0> >::~_Tree<std::_Tmap_traits<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> >,0> >() 行 792 + 0xa 字节 C++
cvblobDLL.dll!std::map<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> > >::~map<unsigned int,cvb::CvTrack * __ptr64,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack * __ptr64> > >() + 0x28 字节 C++
cvblobDLL.dll!cvRenderTracks(const std::map<unsigned int,cvb::CvTrack *,std::less<unsigned int>,std::allocator<std::pair<unsigned int const ,cvb::CvTrack *> > > * tracks=0x000000000016f018 [0](), _IplImage * imgSource=0x000000000016ec70, _IplImage * imgDest=0x000000000016ed00, unsigned short mode=15, CvFont * font=0x0000000000541cf0) 行 417 + 0xd 字节 C++
main.exe!processVideo(char * videoFilename=0x000000013fda0fa0) 行 74 C++
main.exe!main() 行 86 C++
main.exe!__tmainCRTStartup() 行 555 + 0x19 字节 C
main.exe!mainCRTStartup() 行 371 C
kernel32.dll!00000000774159cd()
ntdll.dll!000000007754a561()
转载于:https://blog.51cto.com/fengyuzaitu/1730318
cvBlob 作为静态库链接问题相关推荐
- mingw64下动态库和静态库链接的真正区别和用法(详细)
笔者一直以来都对mingw64下动态库和静态库链接的真正区别和用法存疑,于是做了一些测试,这篇文章记录了测试过程和测试结果,如果只想知道结果可以跳转到文章末尾 一.准备工作 首先准备三个测试文件 其中 ...
- 动态库、静态库编译测试:含静态库链接动态库、静态库,动态库链接静态库、动态库
本文的目的是测试各种类型库的编译后的使用效果,包括库又链接其他库的编译方法,使用方法,依赖性等. 太长不看版:请跳至文章最后的总结对比表. 一.内容包含: ①静态库libbb.a依赖静态库libaa. ...
- linux gcc 包含头文件 动态库 静态库 链接路径问题
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1 ...
- 【Android FFMPEG 开发】Android Studio 中配置 FFMPEG 库注意事项 ( 静态库 链接 libz.so 库 | 导入 FFMPEG 函数库顺序 )
文章目录 I . 导入 z 库 ( FFMPEG 动态库 与 静态库区别 ) II . FFMPEG 库引入顺序 III . Android Studio 中 FFMPEG 静态库引入完整 CMake ...
- android 静态编译链接,Android NDK:使用预编译的静态库链接
我正在尝试将Jnetpcap移植到Android,以便将其用于解析.pcap文件.Jnetpcap是libpcap的java包装器,它使用JNI.我已经使用android的源代码树将libpcap编译 ...
- CMSIS DSP静态库链接后可执行文件太大
现象 在编译CMSIS静态库.a文件后,链接APP程序生成的可执行文件780+KB. 查看flash map文件后发现,APP使用了DSP库中的函数,该函数调用了DSP库文件Commontables. ...
- 关于windows系统中静态库链接找不到的问题
典型错误提示如下 error LNK2019: 无法解析的外部符号 _GdiplusStartup@12,该符号在函数 "public: __thiscall APPInit::APPIni ...
- ffmpeg 编译后静态库链接失败
:~$ gcc ./c/avio_ffmpeg.c -o ./c/avio_ffmpeg /tmp/cciJktYW.o:在函数'av_make_error_string'中: avio_ffmpeg ...
- ios 静态库合成_iOS链接原理解析与应用实践
在iOS App开发中,程序的链接是由Xcode中自带的LLVM来帮助我们完成的,程序员们也因此更注重业务逻辑的编写.但其实了解链接的原理能让我们对iOS的底层有更深层次的认识,也有助于我们从底层原理 ...
最新文章
- docker启动nginx,并挂载目录及docker容器中文乱码
- 使用ConfigModule.withConfig替换SAP Spartacus标准Component
- CPU中的程序是怎么运行起来的
- jakarta ee_关于Jakarta EE软件包名称更改的思考
- Spring实例化Bean
- python实训day5
- ip地址规划工具_ROS、Simulink、Carsim的互联与规划、控制算法的验证
- INTEL 傲腾16G 的再利用
- Github优质项目推荐(附国内Gitee地址)
- 基于sanic打造python web框架
- 数据库 表空间详解以及其使用方法 (Oracle)
- 威力曲面sw2020_威力曲面powersufacing_沐风网
- 遇到人生低谷期该怎么度过?
- python中文转拼音实例_Python 将中文转拼音
- 广丰计算机技术学院,广丰区五都镇中学祝晓旺——信息技术教育的拓荒者
- 线程让步yield实现
- 安装包资源下载(暂整理)
- Anfis-基于模糊推理的自适应神经网络程序(免费分享)
- 世界各国以及中国各区县的JSON数据下载
- Python的Matplotlib——生成符合论文字体、字号要求的图片