osx使用cmake编译opencv错误记录
来源:互联网 发布:app电玩城源码出售 编辑:程序博客网 时间:2024/05/19 05:06
一个比较诡异的编译错误
In file included from /Users/gerrie/source/offical/opencv-2.4.11/3rdparty/openexr/IlmImf/ImfPreviewImage.cpp:43:
/Users/gerrie/source/offical/opencv-2.4.11/3rdparty/openexr/IlmImf/ImfCheckedArithmetic.h:66:5: error: implicit instantiation of undefined template
‘Imf::StaticAssertionFailed’
IMF_STATIC_ASSERT (!std::numeric_limits::is_signed &&
^
google不到相同的错误.看了下源码里是这样的:
/Users/gerrie/source/offical/opencv-2.4.11/modules/highgui/src/cap_ffmpeg_impl.hpp
template <bool b> struct StaticAssertionFailed{};template <> struct StaticAssertionFailed <true>;//template <> struct StaticAssertionFailed <true> {};#define IMF_STATIC_ASSERT(x) \ do {StaticAssertionFailed <x> staticAssertionFailed;} while (false)
原因是第二行编译器没有识别模板定义,osx编译器和linux有差异.
template <> struct StaticAssertionFailed {}
这样改就可以了.
——————-issue 2———————————
issue:
error: “libswscale is necessary to build the newer OpenCV ffmpeg wrapper”
解决:
brew info ffmpeg 查看安装信息
其实我是安装过的.
在 /usr/local/lib 可以找到相关库.
所以
/Volumes/more/source/offical/opencv-2.4.11/modules/highgui/src/cap_ffmpeg_impl.hpp
//@wei #ifdef WIN32 #define HAVE_FFMPEG_SWSCALE 1 #include <libavcodec/avcodec.h> #include <libswscale/swscale.h>#else
修改为
//@wei #ifdef WIN32#if 1 #define HAVE_FFMPEG_SWSCALE 1 #include <libavcodec/avcodec.h> #include <libswscale/swscale.h>#else
- osx使用cmake编译opencv错误记录
- osx使用cmake编译opencv错误记录
- 使用cmake交叉编译opencv
- CMAKE编译opencv源码错误解决办法
- 使用GCC和CMake编译OpenCV
- 记录一个QT+Opencv+Cmake的错误的解决
- cmake编译opencv时的错误与解决
- cmake编译opencv程序
- CMake OpenCV源代码编译
- cmake 编译OpenCV程序
- CMake编译opencv
- Cmake编译OpenCV源码
- cmake编译安装OpenCV
- CMake 编译 opencv 库
- cmake编译安装记录
- 为什么要使用cmake+VS重新编译的opencv库?
- 使用gcc和cmake编译工具编辑opencv例子
- 为什么要使用CMake+VS编译OpenCV的源码
- oracle11g 使用数据泵导出导入数据
- 深入理解JVM——类加载机制
- 初识hibernate,使用idea maven项目搭建
- oracle text全文检索
- Web攻击方式以及解决办法
- osx使用cmake编译opencv错误记录
- owindows解决管理员权限问题-----------世界上最简单的解决方法
- 适配iOS 11
- Spring Boot自定义错误页面
- SQL Server定时任务的一些使用场景及方案(一)——日常任务
- 核心如何发表期刊
- do{}while与while()do{}
- Spring mvc中数据在mysql数据库中,数据只能增加成功,不能修改
- 导航栏加载时可能出现闪的原因以及解决办法