gpt4 book ai didi

c++ - XCode 4 和 OpenCV 库

转载 作者:行者123 更新时间:2023-11-28 08:01:56 24 4
gpt4 key购买 nike

我已经用谷歌搜索并尝试了好几天来解决我的问题我很幸运,所以我在这里问我的第一个问题。

我有一台装有 Lion (1.7.4)、Xcode 4 的 MacBook。我需要处理使用 Leopard 和 Xcode 3 制作的 C++ 应用程序。

该应用程序带有自己的 OpenCV.framework 并且是为 32 位架构制作的(如图 1 所示)

Fig. 1: OpenCV.framework linked in the Xcode project

我试过让它在Xcode 3上运行,它运行得很好,不需要安装 OpenCV 什么的(那是因为 OpenCV.framework 包含在项目中,对吧?)。

Xcode 4 上它不工作。这就是我尝试过的:

  • “按原样”运行它:即使 OpenCV.framework 位于应用程序目录中,我也会收到以下错误:

dyld: Library not loaded: @executable_path/../Frameworks/OpenCV.framework/Versions/A/OpenCV
Referenced from: /Users/fabrizioborgia/Library/Developer/Xcode/DerivedData/suiviGUI-awhilvjpoqatfdansnpqcexpnxaw/Build/Products/Debug/suiviGUI.app/Contents/MacOS/suiviGUI Reason: image not found

  • 删除 OpenCV.framework,通过 MacPorts 安装 OpenCV 并链接库。不,这些库是 64 位的,而我的程序是 32 位的。删除了 OpenCV 和 MacPorts。

  • 删除 OpenCV.framework,通过 Homebrew (brew install opencv --build32) 安装 32 位 OpenCV 并链接库。不,我收到以下错误,所以我假设这些库仍然是 64 位的。正确的?删除了 OpenCV 和 Homebrew。

ld: warning: ignoring file /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib, file was built for unsupported file format which is not the architecture being linked (i386)

  • 删除 OpenCV.framework,自己(使用 make 和 stuff)安装 OpenCV 2.4.1 并链接项目中的库。不,如果我在 32 位 arch 上运行该程序,它会告诉我这些库不适用于 32 位 arch。

无论如何,如果我尝试在 64 位上运行它,编译会成功,但程序无法正常运行。

伙计们,真的,我没有想法,也许我走错了方向,也许我只需要找到另一个 OpenCV.framework 或者我缺少一些链接设置,并且程序看不到框架。

有人可以帮忙吗?

最佳答案

问题解决了。我应用了某种“divide et impera approach”,我在这里问了一个关于 SO 的新问题,你可以在这里找到它:32-bit OpenCV on OS X Lion? Possible?我发现 MacPorts AND Homebrew 和 Cmake Approach 默认安装 native 架构(在我的例子中是 64 位)OpenCV 库,我需要 32 位,所以我遵循了这些步骤:

第 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 步:使用“Link Binary to Libraries”构建阶段在 Xcode 项目中链接全新的库。

第 6 步:点击“运行”:)

关于c++ - XCode 4 和 OpenCV 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11209361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com