前言
有的小伙伴仍然在使用mingw编译器,这时只能重新编译opencl的sdk库。本文档简单记录下win10下,使用mingw11.20编译的过程,有需要的小伙伴可以参考下
一、安装所需软件
1.安装git,教程比较多,不再重复
2.安装cmake,教程比较多,不再重复
3.安装mingw编译器
笔者偷懒了,直接使用Qt安装时,下载的编译器
二、获取源码
项目地址:GitHub - KhronosGroup/OpenCL-SDK: OpenCL SDK
可以直接使用git命令拉取:
git clone --recursive https://github.com/KhronosGroup/OpenCL-SDK.git或者git clone https://github.com/KhronosGroup/OpenCL-SDK.git
cd OpenCL-SDK
git submodule init
git submodule update
下载过程可能比较长,需要下载几个子模块
若中间失败了,需要继续执行更新
注:建议使用科学的上网方式,否则可能下载比较慢
三、设置环境变量
环境变量设置方法很多,可以直接设置系统的环境变量,笔者使用的是在一个cmd窗口中临时设置环境变量
执行如下命令
set path=D:\Qt\Tools\mingw1120_64\bin;D:\Program Files\Git\usr\bin;%path%
若是查看环境变量执行如下
echo %path%
然后在终端中,直接运行D:\Qt\Tools\CMake_64\bin\cmake-gui.exe
四、编译源码
使用cmake设置,点击Configure按钮
第一次设置时,需要下载缺少的其他工程源码,过程可能比较长
设置参数根据需求,修改下。笔者使用默认参数设置时,要报错,就在cmake中取消了glew的动态库选项
再重新设置,就可以正常编译了,
笔者建议修改下安装位置,到自定义目录中,以免与其他opencl的库文件冲突
可能需要多次点击configure按钮,全部成功后,点击Generate按钮,生成项目文件
终端里,切换到项目文件目录,执行如下命令
mingw32-make
若编译成功 ,再执行如下命令,安装到指定目录中
mingw32-make install
已经编译好的库,可以直接下载使用
后记
编译生成了的库,相关比msvc编译器少了很多,但必要的C++绑定相关,基本都在