使用 Xcode 4.6 在 Mac OS X Lion (10.8.2) 上安装 OpenCV [关闭]
Posted
技术标签:
【中文标题】使用 Xcode 4.6 在 Mac OS X Lion (10.8.2) 上安装 OpenCV [关闭]【英文标题】:Install OpenCV on Mac OS X Lion (10.8.2) with Xcode 4.6 [closed] 【发布时间】:2013-03-13 14:54:33 【问题描述】:在我的机器上安装 OpenCV 的步骤(MBP、15"、2.5 GHz i7、16GB RAM、AMD Radeon HD 6770M、128GB SSD)
-
我安装了 git 命令行工具
已安装最新的 macports 版本
cmake 安装了
$ sudo port install cmake
克隆 opencv 的 repo $ git clone git://code.opencv.org/opencv.git
repo 在我的机器上后,我切换到这个目录并创建一个新目录
$ cd opencv $ mkdir build $ cd build
然后我运行$ cmake -G “Unix Makefiles” ../
之后我得到了
`--检查模块'libdc1394-2' -- 未找到包“libdc1394-2” -- 检查模块“libdc1394” -- 未找到包“libdc1394” -- 检查模块“libv4l1” -- 未找到包“libv4l1” -- 寻找 linux/videodev.h -- 寻找 linux/videodev.h - 未找到 -- 寻找 linux/videodev2.h -- 寻找 linux/videodev2.h - 未找到 -- 寻找 sys/videoio.h -- 寻找 sys/videoio.h - 未找到 -- 检查模块“libavcodec” -- 未找到包“libavcodec” -- 检查模块“libavformat” -- 未找到包“libavformat” -- 检查模块“libavutil” -- 未找到包“libavutil” -- 检查模块“libswscale” -- 未找到包“libswscale” -- 寻找 libavformat/avformat.h -- 寻找 libavformat/avformat.h - 未找到 -- 寻找 ffmpeg/avformat.h -- 寻找 ffmpeg/avformat.h - 未找到 -- 找不到 PythonLibs:找到不合适的版本“2.7.2”,但需要的是准确的版本“2.7.3”(找到 /usr/lib/libpython2.7.dylib) 回溯(最近一次通话最后): 文件“”,第 1 行,在 ImportError:没有名为 numpy.distutils 的模块
-- 找到 apache ant 1.8.2: /usr/bin/ant
-- OpenCV 2.4.9 的一般配置 ======================================
--版本控制:2.4.4-642-g061dd7e
-- 平台: -- 主机:达尔文 12.2.0 i386 -- CMake:2.8.10 -- CMake 生成器:Unix Makefiles -- CMake 构建工具:/usr/bin/make
-- 配置:发布
-- C/C++: -- 构建为动态库?:是 -- C++ 编译器:/usr/bin/c++ (ver 4.2.0) -- C++ 标志(发布):-W -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -fno-省略帧指针 -msse -msse2 -msse3 -O3 -DNDEBUG -DNDEBUG -- C++ 标志(调试):-W -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -fno-省略帧指针 -msse -msse2 -msse3 -g -O0 -DDEBUG -D_DEBUG -ggdb3 -- C 编译器:/usr/bin/cc -- C 标志(发布):-W -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -fno-省略帧指针 -msse -msse2 -msse3 -O3 -DNDEBUG -DNDEBUG -- C 标志(调试):-W -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -fno-省略帧指针 -msse -msse2 -msse3 -g -O0 -DDEBUG -D_DEBUG -ggdb3 -- 链接器标志(发布): -- 链接器标志(调试):
-- 预编译头文件:否
-- OpenCV 模块: -- 待建:核心 imgproc flann highgui features2d calib3d ml video objdetect contrib nonfree photo legacy gpu java softcascade 拼接 ts videostab -- 禁用:世界 -- 被依赖禁用:-
-- 不可用:androidcamera ocl python
--图形用户界面: -- QT 4.x:没有 -- 可可:是的
-- OpenGL 支持:否
-- 媒体 I/O: -- ZLib:构建(版本 1.2.7) -- JPEG:构建(版本 90) -- WEBP:构建(版本 0.2.1) -- PNG:构建(版本 1.5.12) -- TIFF:构建(版本 42 - 4.0.2) -- JPEG 2000:构建(版本 1.900.1)
-- OpenEXR:构建(版本 1.7.1)
-- 视频输入/输出: -- DC1394 1.x:否 -- DC1394 2.x:否 -- FFMPEG:是的 -- 编解码器:是(未知版本) -- 格式:YES (ver Unknown) -- util: YES (ver Unknown) -- swscale: YES (ver Unknown) -- gentoo 风格:是 -- OpenNI: 否 -- OpenNI PrimeSensor 模块:否 -- PvAPI:否 -- GigEVisionSDK:否 -- 快速时间:否 -- QTKit:是的
-- V4L/V4L2: NO/NO
-- 其他第三方库: -- 使用 IPP:否 -- 使用特征:否 -- 使用待定:否 -- 使用 OpenMP:否 -- 使用 GCD 是 -- 使用并发 NO -- 使用 C=: 否 -- 使用 Cuda:否
-- 使用 OpenCL:否
-- 蟒蛇:
-- 解释器:/opt/local/bin/python2 (ver 2.7.3)
--Java: -- 蚂蚁:/usr/bin/ant(1.8.2 版) -- JNI: /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers
-- Java 测试:是
-- 文档: -- 构建文档:否 -- 斯芬克斯:没有
-- PdfLaTeX 编译器:否
-- 测试和样品: -- 测试:是 -- 性能测试:是
-- C/C++ 示例:否
-- 安装路径:/usr/local
-- cvconfig.h 在:/Users/miralemcebic/Desktop/ocv/opencv/build
--- ---------------------------------------------- --------------------
-- 配置完成 -- 生成完成 -- 构建文件已写入:/Users/miralemcebic/Desktop/ocv/opencv/build`
比我跑$ cmake -G “Unix Makefiles” ../
现在出现了错误,最后我明白了 30%
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libopencv_highgui.2.4.9.dylib] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2
这里有什么问题?我也有 Python 2.7 和 Python >3
有人可以帮我解决这个问题吗?
【问题讨论】:
机会很好,你错过了 ffmpeg(尤其是 libavcodec),如果安装了它,请确保你也编译了静态库(libavcodec.a) 通过在终端应用程序中粘贴以下命令来安装ffmpeg: $ sudo port install ffmpeg +gpl +postproc +lame +theora +libogg +vorbis+xvid +x264 +a52 +faac +faad +dts +非免费 【参考方案1】:安装macports
$ sudo port selfupdate
$ sudo port install opencv
等等。
【讨论】:
Miralems-MacBookPro:~ miralemcebic$ sudo port selfupdate 密码:---> 使用 rsync 更新 MacPorts 基础源代码 安装了 MacPorts 基础版本 2.1.3,下载了 MacPorts 基础版本 2.1.3。 ---> 更新端口树 Miralems-MacBookPro:~ miralemcebic$ sudo port install opencv ---> 计算 opencv 的依赖项 ---> 清理 opencv ---> 扫描二进制文件以查找链接错误:100.0% ---> 否发现损坏的文件。 Miralems-MacBookPro:~ miralemcebic$ 这是它吗? @Mir23 我不知道是不是这样;你可能想测试它并告诉我。 你有 dylib 吗?在 /usr/local/lib 中还是有 .framework? Macports 安装到/opt/local/lib
,而不是/usr/local/lib
,我自己从来没有安装过,所以我不知道你是静态库还是动态库。如果您想要 Python 集成之类的东西(即sudo port install opencv +python27
),您可能想要使用 variant。详情请见$ port info opencv
。以上是关于使用 Xcode 4.6 在 Mac OS X Lion (10.8.2) 上安装 OpenCV [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在没有 Xcode 的 Mac OS X 上构建 VST 插件
如何在 Mac OS X 10.8 / Xcode 4.4 上使用/安装 gcc
在 Xcode 4 中使用 SVN 和 Mac OS X Lion (10.7)