OpenCL學習筆記(三)手動編譯開發庫(win10+mingw64)

前言

有的小伙伴仍然在使用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++綁定相關,基本都在

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208493.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208493.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208493.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

chrome安裝jsonview

寫在前面 通過jsonview可以實現,當http響應時application/json時直接在瀏覽器格式化顯示,增加可讀性。本文看下如何安裝該插件到chrome中。 1:安裝 首先在這里 下載插件包,然后解壓備用。接著在chrome按照如下步驟操作&#xf…

千鋒 Vue 詳細筆記整理

視頻筆記是根據B站 千鋒 濤哥 - SpringBootvue前后端分離項目《鋒迷商城》實戰課-完結版 進行整理的 筆記可上 gitee倉庫 自取 千鋒 Vue 筆記整理 一、vue 的簡介1.1 使用 JQuery 的復雜性問題1.2 VUE 簡介1.2.1 前端框架1.2.2 MVVM 二、 vue 入門使用2.1 vue 的引入2.2 入門案…

WPF(Windows Presentation Foundation)的 StatusBar控件

WPF(Windows Presentation Foundation)的 StatusBar 是一種用于顯示狀態欄的控件。狀態欄是用于向用戶提供應用程序的狀態信息或其他相關信息的區域。它通常位于應用程序窗口的底部,并提供一些常見的功能,如顯示進度、狀態文本、通…

[C#] 基于 yield 語句的迭代器邏輯懶執行

眾所周知, C# 可以通過 yield 語句來快速向 IEnumerator 或者 IEnumerable 類型的方法返回值返回一個元素. 但它還有另外一個特性, 就是其內部邏輯的懶執行. 每兩個 yield 語句之間的邏輯都是一個狀態, 只有在調用迭代器的 MoveNext 方法后, 才會執行下一個狀態的邏輯. 在文章中…

澤攸科技二維材料轉移臺的應用場景及優勢

隨著二維材料的廣泛研究和各種潛在應用的開發,對于二維材料樣品的精密操控與轉移的需求日益增加。特別是一些新型二維材料的制備和器件集成制備中,需要在顯微鏡下對樣品進行觀察與定位,并能夠在微米甚至納米量級上精確移動和轉移樣品。 傳統…

集簡云 x 零售企業丨快速集成有贊商城和微盛企微管家,實現私域運營自動化

客戶介紹 某公司是一家知名的飲料廠商,自1998年成立以來,一直致力于研發和生產各種熱門飲品,如果汁、碳酸飲料、礦泉水等。因其獨特的口感和健康的品質深受消費者的喜愛。企業擁有多個知名品牌,享有極高的品牌知名度和市場份額。該…

BGP綜合

1、使用PreVal策略,確保R4通過R2到達192.168.10.0/24。 2、使用AS_Path策略,確保R4迪過R3到達192.168.11.0/24。 3、配置MED策略,確保R4通過R3到達192.168.12.0/24。 4、使用Local Preference策略,確保R1通過R2到達192.168.1.0…

Mac電腦系統管理:iStat Menus中文 for Mac

iStat Menus是一款強大而靈活的系統監控工具,可以幫助Mac用戶實時監控和管理自己的電腦。它提供了豐富的系統狀態和性能指標,可自定義的菜單欄圖標以及歷史數據記錄功能,讓用戶能夠全面了解和掌握電腦的運行情況。 實時系統監控:i…

Django的Auth模塊

Auth模塊 我們在創建好一個Django項目后執行數據庫遷移命令會自動生成很多表 其中有auth_user等表 Django在啟動之后就可以直接訪問admin路由,需要輸入用戶名和密碼,數據參考的就是auth_user表,并且必須是管理員才能進入 依賴于a…

flink1.12.4消費kafka 報錯 The coordinator is not available

報錯 You should retry committing the latest consumed offsets. Caused by: org.apache.kafka.common.errors.CoordinatorNotAvailableException: The coordinator is not available. 但是任務還在正常跑. 開源bug [FLINK-28060] Kafka Commit on checkpointing fails rep…

12.8 作業 C++

使用手動連接,將登錄框中的取消按鈕使用qt4版本的連接到自定義的槽函數中,在自定義的槽函數中調用關閉函數 將登錄按鈕使用qt5版本的連接到自定義的槽函數中,在槽函數中判斷ui界面上輸入的賬號是否為"admin",密碼是否為…

一篇文章熟練掌握 Axios

Axios是什么 Axios是一個基于Promise的網絡請求庫,作用于node.js和瀏覽器中。在服務端使用原生node.js http模塊,在客戶端使用XMLHttpRequest。是基于Promise對Ajax的封裝。 Axios的特性 從瀏覽器創建XMLHttpRequests從node.js創建http請求支持Promis…

基于OpenCV的人臉識別系統案例

基于OpenCV的人臉識別系統案例 人臉識別簡介代碼實現案例應用情況 下面將介紹如何使用Python和OpenCV庫構建一個簡單但強大的人臉識別系統。人臉識別是計算機視覺領域的一個重要應用,具有廣泛的實際用途,從安全門禁到娛樂應用。 人臉識別簡介 人臉識別是…

MySQL - 表達式With as 語句的使用及練習

目錄 8.1 WITH AS 的含義 8.2 WITH AS語法的基本結構如下: 8.3 練習題1 8.4 牛客練習題 8.1 WITH AS 的含義 WITH AS 語法是MySQL中的一種臨時結果集,它可以在SELECT、INSERT、UPDATE或DELETE語句中使用。通過使用WITH AS語句,可以將一個查…

量子芯片技術:未來的計算革命

量子芯片技術:未來的計算革命 一、引言 隨著科技的不斷發展,人類正在進入一個全新的技術時代,即量子時代。量子芯片技術作為這個時代的重要代表,正逐漸改變我們對計算和信息處理的理解。本文將深入探討量子芯片技術的基本原理、…

Navicat 技術指引 | 適用于 GaussDB 分布式的服務器對象的創建/設計

Navicat Premium(16.3.3 Windows版或以上)正式支持 GaussDB 分布式數據庫。GaussDB分布式模式更適合對系統可用性和數據處理能力要求較高的場景。Navicat 工具不僅提供可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結構…

Java入門 EditPlus的安裝與配置講解

寫Java程序不建議使用EditPlus,首選idea社區版,其次是vscode, 然后是eclipse 。editplus說實話排不上號。 但既然小伙伴想了解一下怎么配置,這里就簡單說一下。 下載 首先是jdk,jdk是Java開發和運行的基礎&#xff…

EVT_WDF_DEVICE_PREPARE_HARDWARE API

NTSTATUS EVT_WDF_DEVICE_PREPARE_HARDWARE(__inWDFDEVICE Device,__inWDFCMRESLIST ResourcesRaw,__inWDFCMRESLIST ResourcesTranslated); 上面API中ResourcesRaw和ResourcesTranslated類型相同,那他們的區別是啥? 答: EVT_WDF_DEVICE_P…

【前端設計模式】之訪問者模式

引言 在前端開發中,我們經常需要處理復雜的對象結構和數據集合。這時候,訪問者模式就能派上用場了。訪問者模式允許我們將操作和數據結構分離開來,從而實現對復雜對象結構的優雅處理。 訪問者模式的特性 訪問者模式具有以下特性&#xff1…

iview Table實現跨頁勾選記憶功能以及利用ES6的Map數據結構實現根據id進行對象數組的去重

因為iview Table組件的勾選是選中當前頁的所有數據,當我們切到別的頁面時,會發送請求給后端,這個時候就會刷新我們之前頁碼已經選中的數據。現在有個需求就是,在我們選擇不同頁碼的數據勾選中之后,實現跨頁勾選記憶功能,就是說已經打鉤了的數據,不管切到哪一頁它都是打鉤…