我试图了解一些基本概念,但我似乎无法弄明白。
我真的很担心C ++的安装意味着什么(我认为它们被称为库)。我正在尝试安装OpenCV,但我不知道安装它需要做什么,如何检查,或者真正的OpenCV是什么(它是一个库,框架,还有什么?)。
我的理解是OpenCV(和其他库/框架)仅作为源代码分发,因此可以跨平台工作。然后,在你下载它之后,你必须构建它(我不知道构建的意思),然后将你的编译器链接到它,以便它可以访问文件?我不知道如何做到这一点,或者真的意味着什么。我认为很多这都是由CMake完成的,但我不知道CMake到底做了什么,如何使用它,或者如何在代码中使用库/框架。此外,如何安装OpenCV这样的库,clang(或任何其他编译器/链接器)如何知道在哪里找到它们,以及它们将是什么类型的文件(.a,.dylib,.cpp,.hpp,可执行文件) ,或一切的集合)?这种结构是否特定于C ++和OS X,还是更广泛?
我不是在寻找有关如何安装OpenCV或其他库的教程,但我正在尝试学习它是如何工作的,所以我将来不需要教程。
答案 0 :(得分:58)
在Mac上进行任何C / C ++开发工作之前,您需要前往App Store并免费下载Xcode
- 它是Apple的IDE - 集成开发环境。如果没有Xcode
,您将没有编译器(即clang
或gcc
或g++
)且没有构建工具(即make
)。
安装Xcode
如果您是Mac新手,App Store
看起来像这样:
和Xcode
看起来像这样:
安装命令行工具
接下来你必须安装Xcode的命令行工具,所以启动终端 - 按⌘ + SPACE 并开始输入Terminal
当它猜对了,只需点击 Enter / Return 。将以下内容复制并粘贴到终端,然后按 Enter / Return 。
xcode-select --install
以上称为" Spotlight Search" ,是在Mac上查找任何内容的最简单方法。
安装自制程序
然后,如果您要在Mac上安装OpenCV
,请安装一个包管理器,例如homebrew
,这是将homebrew website中的一行复制并粘贴到您的终奌站。我不会在这里显示这条线,以防它发生变化,有人在几年内看到这个,但很容易看出你是否转到上面的链接。
查找套餐
然后你可以找到你想要的任何包:
brew search opencv # Look for packages called "opencv"
或
brew search boost # Look for "boost" libraries
安装OpenCV
所以,对于一个vanilla(没有特殊选项)安装和OpenCV
的构建,请执行此操作:
brew install opencv
删除套餐
您可以稍后删除不再需要的任何包:
brew rm opencv
更新套件
您还可以使用以下命令更新所有已安装的软件包:
brew update && brew upgrade && brew cleanup
建立项目
安装完成后,即可开始编译和构建自己的项目。如果你使用pkg-config
包来获取你需要的所有必要的编译器/链接器设置会很有帮助,所以我建议:
brew install pkg-config
现在你可以用一个非常简单的命令编译和链接,如:
g++ $(pkg-config --cflags --libs opencv) process.cpp -o process
然后,如果您希望在开始使用后再继续使用Xcode
IDE。
使用Xcode构建
一旦开始使用基本编译,您可能希望开始使用Xcode
来编辑程序,为此,您必须告诉Xcode
头文件所在的位置以及库的位置是和哪些库链接。这将因您的OpenCV版本而异,但您需要更改下面两个图中标记的位置。如果按顺序点击它们,你会很容易找到它们 - 首先是绿色区域,然后是黄色,然后是蓝色,然后是红色。
通过运行我在上一节中建议的pkg-config
命令,可以找到上面标记的Xcode设置区域中需要的实际信息。所以跑:
pkg-config --cflags opencv
获取标题(包含)文件的位置,然后运行
pkg-config --libs opencv
获取填写Xcode
中链接器所需的信息。