XCode关于OpenCV + OpenCL + OpenMP的配置
配置项目
OpenCL是CUDA的替代品,能够利用GPU执行OpenCV的图形的大量计算;而OpenMP时开放多核编程语言,本质上还是利用CPU
OpenCV
- 利用Homebrew安装opencv(C++)
brew install opencv
安装的过程中,brew就已经自动执行cmake将opencv包编译好了,所以所有的动态库文件都在
/usr/local/Cellar/opencv/4.2.0_1/lib路径下创建一个XCode项目,选择command line,然后将
Search Paths下的两个头文件和库文件搜索路径填好Header Search Paths = '/usr/local/include/opencv4'Library Search Paths = '/usr/local/Cellar/opencv/4.2.0_1/lib'
之后就要将动态库文件全部链接进项目中,找到
Build Phases,然后将opencv文件夹里的lib中的所有动态库文件添加进去即可。
⚠️ 在链接库文件时,一定要将原本的lib文件夹copy一份,然后链接这个复制后的文件夹里的库文件!!!
OpenCL
这里要说明一下,安装的时候一定要注意不同的设备所支持的OpenCL版本,目前所有苹果设备支持的最高版本为1.2。同时Apple内置了OpenCL的包,所以只需要在Build Phases中将OpenCL链接进去就可以。
OpenMP
网上暂时还没有详细且有效的配置教程,这里就说一下其中一个教程的做法
- 利用Homebrew安装llvm
brew install llvm
- 然后像配置OpenCV一样,将
Search Paths下的两个搜索路径填好Hearder Search Paths = '/usr/local/Cellar/llvm/9.0.1/lib/clang/9.0.1/include'Library Search Paths = '/usr/local/Cellar/llvm/9.0.1/lib/clang/9.0.1/lib'
- 接下来配置参数

- 然后创建一个名为CC的User变量


- 创建软链接
ln -s /usr/local/opt/llvm/bin/clang /usr/local/bin/clang-omp
ln -s /usr/local/opt/llvm/bin/clang++ /usr/local/bin/clang++-omp
- 全局搜索,找出
libiomp5.dylib库文件,然后将其复制并粘贴到/usr/local/lib/libiomp5.dylib路径下,一定要粘贴到这里,不然无法使用 - 最后在XCode项目里将这个库文件链接进去理论上就可以了
⚠️ 但是最后,一顿操作猛如虎,运行的时候报出了一堆错误,OpenMP还是用不了,而且网上也找不到别的详细的教程了,太坑了。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!