几天来我一直在谷歌搜索和尝试,试图弄清楚如何让 32 位 OpenCV 在 OS X Lion 上运行,但只能找到 64 位版本。
所以我有以下问题:
OpenCV 库有 32 位或 64 位架构,对吗?
如何让 32 位 OpenCV 在 Lion 上运行?我正在尝试以下方法: - 通过 MacPorts 安装 OpenCV:不,MacPorts 安装 64 位版本。BI 删除了 OpenCV 和 MacPorts。
- 使用以下命令通过 Homebrew 安装 OpenCV 2.4.1:
brew 安装 opencv --build32
但看起来它们也是 64 位的。删除了 OpenCV 和 Homebrew。
- 使用标准 unix makefile 自行安装 OpenCV 2.4.1。不,它们看起来仍然像 64 位。
我写了“它们看起来像 64 位”,因为我必须在 OS X Snow Leopard 下针对 32 位 Mac 开发的 Xcode 项目中替换 OpenC,而且我总是会遇到大量错误,例如:
ld: 警告:忽略文件/usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib,文件是为不受支持的文件格式构建的,这不是被链接的架构 (i386)
所以我想 OpenCV 的东西是 64 位的。如果我强制项目以 64 位运行,它会摩擦但无法正常工作并卡住。
是否有标准方法来检查我的 OpenCV 库是 64 位还是 32 位?
我在哪里可以获得 32 位 OpenCV?
最佳答案
解决了问题。
回顾:可以在 64 位 Mac OSX Lion 上使用 32 位 OpenCV 库。
如何?
第 1 步:下载 OpenCV 2.4.0
第 2 步:下载并安装 CMake。
第 3 步:解压 OpenCV 包。
第 4 步:在 OpenCV 包中创建一个单独的目录以进行构建
mkdir build
cd build
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 ..
(这将强制进行 32 位编译)
make -j8
sudo make install
第 5 步:享受吧!
更多引用请访问Mac OS X OpenCV Port Page
感谢大家让我走上正轨:
@karlphilip:我试着按照你的建议去做,但没有 make 选项编译阶段失败,因为架构不连贯。
@hamstergene:新安装后 MacPorts 卡住了,也许我还有一些旧安装的残留 :((奇怪,我按照官方说明删除了它)。
@Adrien:这就是我所做的,但我不得不合并 2 种方法:)
关于c++ - OS X Lion 上的 32 位 OpenCV?可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223305/