我试图了解一些基本概念,但我似乎无法弄清楚它们.
我真的很困惑C++的安装意味着什么(我认为它们被称为库).我正在尝试安装OpenCV,但我不知道安装它需要做什么,如何检查,或者真正的OpenCV是什么(它是一个库,框架,还有什么?).
我的理解是OpenCV(和其他库/框架)仅作为源代码分发,因此能够跨平台工作.然后,在你下载之后,你必须构建它(我不知道构建意味着什么),然后将你的编译器链接到它,以便它可以访问文件?我不知道如何做到这一点,或者真的意味着什么.我认为很多这都是由CMake完成的,但我不知道CMake到底做了什么,如何使用它,或者如何在代码中使用库/框架.此外,如何安装OpenCV这样的库,clang(或任何其他编译器/链接器)如何知道在哪里找到它们,以及它们将是什么类型的文件(.a,.dylib,.cpp,.hpp,可执行文件) ,或一切的集合)?这种结构是否特定于C++和OS X,还是更广泛?
我不是在寻找有关如何安装OpenCV或其他库的教程,但我正在尝试学习它是如何工作的,所以我将来不需要教程.
在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搜索",是在Mac上查找任何内容的最简单方法.
安装自制软件
然后,如果要OpenCV
在Mac上安装,请安装软件包管理器,例如homebrew
将自制软件网站中的一行复制并粘贴到终端中.我不会在这里显示这条线,以防它发生变化,有人在几年内看到这个,但很容易看出你是否转到上面的链接.
查找包裹
然后你可以找到你想要的任何包:
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
建立一个项目
安装完成后,您可以使用一个非常简单的命令开始编译和构建自己的项目,例如:
brew install pkg-config
然后,pkg-config
如果您想要开始使用,可以稍后继续使用IDE.
使用Xcode构建
一旦开始使用基本编译,您可能希望开始使用Xcode
编辑程序,为此,您必须知道Xcode
头文件的位置以及库的位置和链接的库.这将因您的OpenCV版本而异,但您需要更改下面两个图中标记的位置.如果按顺序点击它们,你会很容易找到它们 - 首先是绿色区域,然后是黄色,然后是蓝色,然后是红色.
通过运行Xcode
我在上一节中建议的相同命令,可以找到我在上面标记的Xcode设置区域中需要的实际信息.所以运行:
g++ $(pkg-config --cflags --libs opencv) process.cpp -o process
获取标头(包含)文件的位置,然后运行
pkg-config --cflags opencv
获取填写链接器所需的信息pkg-config
.