環境描述:win10 cmake vs2015 openpose1.5.1源碼 cuda10.1 rtx2060
目的:在Windows上部署Openpose
問題:編譯Openpose.lib報錯,錯誤內容如題。
解決:
1. 剛開始不瞭解問題出處,一頓亂Google、bing,都沒有找到解決辦法。後來在”輸出“詳情中發現了一行:
"nvcc fatal 32 bit compiation is only supported for vs2013 and earlier",這纔是問題所在。
2. 再搜索這個問題的原因,https://devtalk.nvidia.com/default/topic/1029290/gvdb-voxels/-solved-nvcc-defaults-to-32-bit-compilation/的這句話提醒了我:
於是,在cmake 選擇編譯器的時候,在第二行多選擇了一句,如下圖:
3. 問題解決,在vs中無論是選擇release\debug平臺,抑或是win32\x64編譯,都不會再報錯。
4. 補充:剛開始以爲是cuda版本等的問題,但是在ubuntu中相同的cuda 版本 都可以編譯通過。
另外,其中用到的一些第三方庫或者模型等,不要使用作者提供的.bat進行下載,特別慢,直接將裏面的連接copy出來使用迅雷進行下載。