OpenCV的兼容问题
我最近用MFC做了个使用OpenCV的图像处理x64程序,在使用的过程中一切正常。
然后业务需要导入xlsx文件,加入一个xlnt库,在使用的过程中也没有问题,但在程序退出的时候会产生一个非法。
而我单独使用xlnt库的在退出的时候是没有非法的,请问这是不是OpenCV和xlnt两个的兼容有问题?
最后的异常的调用堆栈显示在std里面
Process2.exe!std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::~pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> () C++
Process2.exe!std::list<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > >::clear(void) C++
Process2.exe!std::_Hash<class std::_Umap_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_Uhash_compare<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,0> >::~_Hash<class std::_Umap_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_Uhash_compare<class std::bas() C++
Process2.exe!xlnt::detail::workbook_impl::~workbook_impl(void) C++
Process2.exe!std::unique_ptr<struct xlnt::detail::workbook_impl,struct std::default_delete<struct xlnt::detail::workbook_impl> >::~unique_ptr<struct xlnt::detail::workbook_impl,struct std::default_delete<struct xlnt::detail::workbook_impl> >(void) C++
Process2.exe!_execute_onexit_table::__l2::<lambda>() 行 206 C++
Process2.exe!__crt_seh_guarded_call<int>::operator()<<lambda_7777bce6b2f8c936911f934f8298dc43>,int <lambda>(void) & __ptr64,<lambda_3883c3dff614d5e0c5f61bb1ac94921c> >(__acrt_lock_and_call::__l2::<lambda_7777bce6b2f8c936911f934f8298dc43> && setup, _execute_onexit_table::__l2::int <lambda>(void) & action, __acrt_lock_and_call::__l2::<lambda_3883c3dff614d5e0c5f61bb1ac94921c> && cleanup) 行 204 C++
[内联框架] Process2.exe!__acrt_lock_and_call(const __acrt_lock_id) 行 957 C++
Process2.exe!_execute_onexit_table(_onexit_table_t * table) 行 231 C++
Process2.exe!common_exit::__l2::<lambda>() 行 232 C++
Process2.exe!__crt_seh_guarded_call<void>::operator()<<lambda_d80eeec6fff315bfe5c115232f3240e3>,void <lambda>(void) & __ptr64,<lambda_2358e3775559c9db80273638284d5e45> >(__acrt_lock_and_call::__l2::<lambda_d80eeec6fff315bfe5c115232f3240e3> && setup, common_exit::__l2::void <lambda>(void) & action, __acrt_lock_and_call::__l2::<lambda_2358e3775559c9db80273638284d5e45> && cleanup) 行 224 C++
[内联框架] Process2.exe!__acrt_lock_and_call(const __acrt_lock_id) 行 957 C++
Process2.exe!common_exit(const int return_code, const _crt_exit_cleanup_mode cleanup_mode, const _crt_exit_return_mode return_mode) 行 278 C++
[外部代码]
然后业务需要导入xlsx文件,加入一个xlnt库,在使用的过程中也没有问题,但在程序退出的时候会产生一个非法。
而我单独使用xlnt库的在退出的时候是没有非法的,请问这是不是OpenCV和xlnt两个的兼容有问题?
最后的异常的调用堆栈显示在std里面
Process2.exe!std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::~pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> () C++
Process2.exe!std::list<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > >::clear(void) C++
Process2.exe!std::_Hash<class std::_Umap_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_Uhash_compare<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::hash<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,struct std::equal_to<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >,0> >::~_Hash<class std::_Umap_traits<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::_Uhash_compare<class std::bas() C++
Process2.exe!xlnt::detail::workbook_impl::~workbook_impl(void) C++
Process2.exe!std::unique_ptr<struct xlnt::detail::workbook_impl,struct std::default_delete<struct xlnt::detail::workbook_impl> >::~unique_ptr<struct xlnt::detail::workbook_impl,struct std::default_delete<struct xlnt::detail::workbook_impl> >(void) C++
Process2.exe!_execute_onexit_table::__l2::<lambda>() 行 206 C++
Process2.exe!__crt_seh_guarded_call<int>::operator()<<lambda_7777bce6b2f8c936911f934f8298dc43>,int <lambda>(void) & __ptr64,<lambda_3883c3dff614d5e0c5f61bb1ac94921c> >(__acrt_lock_and_call::__l2::<lambda_7777bce6b2f8c936911f934f8298dc43> && setup, _execute_onexit_table::__l2::int <lambda>(void) & action, __acrt_lock_and_call::__l2::<lambda_3883c3dff614d5e0c5f61bb1ac94921c> && cleanup) 行 204 C++
[内联框架] Process2.exe!__acrt_lock_and_call(const __acrt_lock_id) 行 957 C++
Process2.exe!_execute_onexit_table(_onexit_table_t * table) 行 231 C++
Process2.exe!common_exit::__l2::<lambda>() 行 232 C++
Process2.exe!__crt_seh_guarded_call<void>::operator()<<lambda_d80eeec6fff315bfe5c115232f3240e3>,void <lambda>(void) & __ptr64,<lambda_2358e3775559c9db80273638284d5e45> >(__acrt_lock_and_call::__l2::<lambda_d80eeec6fff315bfe5c115232f3240e3> && setup, common_exit::__l2::void <lambda>(void) & action, __acrt_lock_and_call::__l2::<lambda_2358e3775559c9db80273638284d5e45> && cleanup) 行 224 C++
[内联框架] Process2.exe!__acrt_lock_and_call(const __acrt_lock_id) 行 957 C++
Process2.exe!common_exit(const int return_code, const _crt_exit_cleanup_mode cleanup_mode, const _crt_exit_return_mode return_mode) 行 278 C++
[外部代码]
...全文
相关推荐
Pycharm 安装opencv
Pycharm 安装opencv pycharm里自带了很方便的安装第三方库的方法,不需要自己去下载opencv包再pip install 在pycharm的File/Settings/Project: untitled/Project Interpreter下显示的是我们自己安装的python第三方库,点击右上角的加号,便是pycharm提供的帮助你搜索并且下装安装第三方库的功能: 原创文章 14获赞 17访问量 866 关注
arm版opencv-2.4.9
在ubuntu12.04上,用arm-none-linux-gnueabi交叉编译完成的,可以下载直接用,复制其中的lib文件夹即可
Linux opencv2.4.9 动态库
centos6.8 亲自编译通过opencv 2.4.9 so动态库,屏蔽C++11特性。
QT和Opencv图像格式转换_ qtopencv图片数组相互转化,opencv格式转换mono8
QT和Opencv图像格式转换_ qtopencv图片数组相互转化,opencv格式转换mono8 -C 代码类资源 关于QImage和Mat格式的转换
opencv重新编译版—含java可用contrib模块
opencv重新编译版—含java可用contrib模块,可使用java直接调用opencv的如face的拓展模块。


图形处理/算法
