3

我以前看过这方面的帖子,但似乎没有一个答案对我有用。我刚刚在我的 Mac 上安装了 OpenCV,并让它在命令行中与 g++ 一起正常工作。我使用 Mac 端口安装它:

$ sudo port install opencv configure.compiler=llvm-gcc-4.2

要使用 g++ 编译,我使用以下命令:

g++ myfile.cpp -o myprogram -I/opt/local/include -L/opt/local/lib -lopencv_core.2.4.2 -lopencv_calib3d.2.4.2

我的 OpenCV 在 main.cpp 文件中包含头文件是:

#include "opencv2/opencv.hpp"

一切正常。

现在,当我尝试在 Xcode 中包含该库时,它只是说找不到“opencv2/opencv.hpp”文件。为了在 Xcode 中包含这个库,我遵循了一些详细的说明。首先,对于项目目标,我将 /opt/local/lib 添加到库搜索路径,并将 /opt/local/include、/opt/local/include/opencv 和 /opt/local/include/opencv2 添加到标题搜索构建设置选项卡下的路径。然后我点击 Build Phases,并在 Link Binary With Libraries 中添加了所有 OpenCV .dylib 文件到 /opt/local/lib(全部 11 个)。这没有用。我尝试了许多其他的事情,包括添加到用户搜索路径和为目标设置“其他链接器标志”。没有任何效果。它找不到文件。如果我使用确切的路径(#include "/opt/local/include/opencv2/opencv.hpp")它可以

OpenCV 的版本是 2.4.2。我在 OS X Lion 10.7.4 上使用 Xcode 4.3.3。这是一个 C++ 项目。有任何想法吗?

4

1 回答 1

3

这个问题可以通过进入项目属性并点击目标来解决。在构建设置中搜索“标题搜索路径”。然后在那里添加“/opt/local/include”。通过这样做,您是在告诉 Xcode 也在该目录中查找头文件。现在您可以使用:

#include <opencv2/opencv.hpp>

如果您不想在每次启动新项目时都这样做,您可以将 .h 和 .hpp 文件添加到 Xcode 使用的默认包含目录中。您可以在 Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include 中找到此目录。

您还必须将二进制文件添加到您的项目中。为此,您转到“构建阶段”,然后在“将二进制文件与库链接”部分中添加二进制文件。

我希望这能够帮到你。

于 2013-02-16T14:14:08.847 回答