成功安装OpenCV后,在Xcode项目中若需使用OpenCV库里面的类或函数,还需在项目中进行设置。
首先创建一个macOS下的命令行项目,语言选择为C++。
新建项目后,点击左方目录中的项目名称,在"Build Phases"分页中打开"Link Binary With Libraries"后点击"+"。
在弹出窗口中点击"Add Other..."
在本地目录中找到OpenCV的安装目录,进入安装目录下的lib文件夹,选中所有以版本号结尾的库文件,由于我的机子上的OpenCV是通过brew命令安装的,因此这个lib文件夹的路径为:/usr/local/Cellar/opencv/4.5.0_5/lib,版本号为4.5.0,因此选中的是所有结尾是4.5.0的库文件,然后点击"Open"。
这一步是将OpenCV项目可能会用到的库文件链接到项目当中,但要使用它们还需要告诉项目哪里能找到头文件路径,因此还需进入"Build Settings"分页,搜索关键字"header search paths",找到对应项双击,在弹出窗口中添加OpenCV安装目录下的include里的opencv4的全路径,在我的机子上这个路径是:/usr/local/Cellar/opencv/4.5.0_5/include/opencv4,在路径后面的选项中将默认的"non-recursive"改选为"recursive"。
经过这些设置后,在代码中就可以调用这些库的函数或类了,值得注意的是,OpenCV的这些项都是属于命名空间cv的,所以使用它们时要先声明使用的命名空间。
在写入一个简单的打开图片的代码后,编译运行后会有大量警告出现。
要去掉这些警告提示,可以在项目的"Build Settings"分页中查找关键字"document",在"Documentation Comments"项的"Debug"一栏由默认的"Yes"改选为"No"。
再次编译运行后这些警告将不再出现。如果想要查看某个函数或类型的定义,可以选中该函数或类的名称,然后点击右键,在弹出菜单中点击"Jump to Definition"。
值得注意的是,在声明预处理的头文件时,我只包含了highgui.hpp这个头文件,如果在其他编译环境中,有可能在程序开头还需要包含其他的头文件,作为参考,可以用点击"Jump to Definition"的这个方法打开定义文件来看相应的函数所属的头文件是哪个。
欢迎点击右下方↓↓"在看"↓↓来分享