【发布时间】:2012-06-26 14:16:53
【问题描述】:
我已经在谷歌上搜索并尝试解决我的问题好几天了,所以我在这里问我的第一个问题。
我有一台装有 Lion (1.7.4)、Xcode 4 的 MacBook。 我需要使用 Leopard 和 Xcode 3 开发 C++ 应用程序。
该应用程序带有自己的 OpenCV.framework,并且是为 32 位架构制作的(如图 1 所示)
我已经尝试让它在 Xcode 3 上运行,它工作得很好,不需要安装 OpenCV 或其他东西(那是因为 OpenCV.framework 包含在项目中,对吧?)。
在 Xcode 4 上它不起作用。这就是我尝试过的:
- “按原样”运行:即使 OpenCV.framework 位于应用程序目录中,我也会收到以下错误:
dyld:库未加载: @executable_path/../Frameworks/OpenCV.framework/Versions/A/OpenCV
参考自: /Users/fabrizioborgia/Library/Developer/Xcode/DerivedData/suiviGUI-awhilvjpoqatfdansnpqcexpnxaw/Build/Products/Debug/suiviGUI.app/Contents/MacOS/suiviGUI 原因:找不到图片
删除 OpenCV.framework,通过 MacPorts 安装 OpenCV 并链接库。不,这些库是 64 位的,而我的程序是 32 位。删除了 OpenCV 和 MacPorts。
删除 OpenCV.framework,通过 Homebrew (brew install opencv --build32) 安装 32 位 OpenCV 并链接库。不,我收到以下错误,所以我假设这些库仍然是 64 位的。对?删除了 OpenCV 和 Homebrew。
ld:警告:忽略文件 /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib,文件 是为不受支持的文件格式构建的,这不是架构 正在链接 (i386)
- 删除 OpenCV.framework,我自己安装 OpenCV 2.4.1(使用 make 和其他东西)并链接项目中的库。不,如果我在 32 位架构上运行程序,它会告诉我这些库不适用于 32 位架构。
无论如何,如果我尝试在 64 位上运行它,编译成功但程序无法正常运行。
伙计们,真的,我没有想法,也许我走错了方向,也许我只需要找到另一个 OpenCV.framework 或者我缺少一些链接设置,并且程序看不到框架。
有人可以帮忙吗?
【问题讨论】:
-
OpenCV.framework 在你的文件系统中的什么位置?
-
它在应用程序目录中。
-
哪个应用目录?
-
主目录(包含 .xcodeproj 文件和其他子目录的目录)还包含 OpenCV.framework(参见picture)。
标签: c++ opencv xcode4 osx-lion homebrew