問題起因
關于Qt中編譯cuda生成的cu檔案
坑1:關于CUDA_ARCH
坑2:關于NVCC_OPTIONS
Qt中C++代碼調用python
pro檔案
PYTHONHOME和PYTHONPATH
其他
問題起因
實驗室項目分為兩部分,一部分是C++接口,負責通過socket收發封包,按協定解析封包,然後傳輸給後面的算法,算法來進行對資料進行處理(隻能說這麼多,再說估計就被叫去喝茶了),然後後期項目整合的時候,接口代碼需要和算法進行整合,但是算法部分明沒有在伺服器上做過測試,是以我在整合的時候需要了很多坑,經過一周的點燈熬夜,終于是完美解決,寫出來希望能幫到大家!!
關于Qt中編譯cuda生成的cu檔案
主要是配置Qt中的pro檔案,貼出我百度之後親測有效的配置
這裡不同的顯示卡是不一樣的,設定不對的話,編譯應該是通過不了的
查詢連結
這東西是會附加在下面的cuda.commands裡使用,類似于指令行編譯的時候用的指令,算法發現計算完的結果存在誤差,但是不知道在linux環境如何解決,百度之,通過,如果大家需要加入其他的參數,也是在這裡進行
參考連結
Qt中C++代碼調用python
伺服器上是通過anaconda3安裝的python,自帶版本是py3.7
還是先貼上我自己的配置再做說明
上面兩個頭檔案,大家根據自己的代碼去環境中找就行了,用 locate 或者幹脆直接搜尋都是可以的
最重要的是引用庫的時候,千萬别引用錯了,不然編譯的時候會報錯
我報的錯誤是
https://blog.csdn.net/jiguangfan/article/details/86488573
後來發現是自己把庫連結錯了(好多庫都是重名的,隻是路徑不同,是以就中招了)
編譯通過之後,運作時一直報錯環境變量未定義,參考了網上的很多辦法,還是沒有奏效,最後在代碼中算是動态指定了這兩個環境變量
前面兩個set一定要在第三行初始化之前進行
由于算法那邊開發的時候用的是windows+py3.5,但是實際的環境是linux+py3.7 應該是由于版本不同,導緻了一些運作時的問題用py從檔案中讀取資料,然後指定的資料類型出了問題