我一直在谷歌搜索并尝试了几天,试图找出如何让32位OpenCV在OS X Lion上运行,但是可以找到64位版本。
所以我有以下问题:
OpenCV库有32位还是64位,这是正确的吗?
如何在Lion上使用32位OpenCV?我正在尝试以下方式: - 通过MacPorts安装OpenCV:nope,MacPorts安装64位版本.BI删除了OpenCV和MacPorts。
冲泡安装OpenCV --build32
但看起来他们也是64位。删除了OpenCV和Homebrew。
我写过“它们看起来像64位”,因为我必须在OS X Snow Leopard下制作的Xcode项目中取代OpenC,针对32位Mac,我总是遇到很多错误,如:
ld:警告:忽略文件/usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib,文件是为不支持的文件格式构建的,而不是所链接的体系结构(i386)< / p>
所以我认为OpenCV的东西是64位的。如果我强制项目以64位运行,它会摩擦但不能正常工作并卡住。
有没有一种标准方法可以检查我的OpenCV库是64位还是32位?
我在哪里可以获得32位OpenCV?
答案 0 :(得分:8)
解决了这个问题。
回顾:在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 :这就是我所做的,但我必须合并两种方法:)
答案 1 :(得分:2)
我很难在不同的操作系统上配置OpenCv库。事实证明,事情是自动生成一个示例项目,然后在其中构建业务逻辑。
答案 2 :(得分:2)
OpenCV项目的网站在去年进行了大幅升级。 可以使用新的tutorial section,我可以在我的32位核心Mac OS Lion上安装OpenCV。
Sadeep's Tech Blog还提供了一个非常酷的教程,涵盖了一系列有趣的细节。
希望这有帮助!
答案 3 :(得分:0)
您可以尝试以下内容:下载OpenCV 2.4源代码并编辑根目录中的 CMakeLists.txt 。在242行左右,你会看到:
# ----------------------------------------------------------------------------
# Path for build/platform -specific headers
# ----------------------------------------------------------------------------
set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")
add_definitions(-DHAVE_CVCONFIG_H)
ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR})
在add_definitions()
电话下方添加以下内容:
add_definitions(-m32)