轉載請註明到處:html
http://www.javashuo.com/article/p-ewhzsxkf-du.htmlc++
說明:第一種方式在netbeans中沒法debug代碼,設置了斷點也不會在斷點處中止,而是直接過去了;第二種方式能夠debug代碼。app
將以前(http://www.javashuo.com/article/p-sjyqerka-eb.html)寫好的CMakeLists.txt和example-app.cpp放到某文件夾內,如測試
/media/xxx/disk1T/code/C/testxxui
①選擇具體路徑spa
② 選擇custom,以下圖所示debug
netbeans----file----new----c/c++ project with existing sources3d
③選擇當前目錄下一個目錄(先新建build,而後選擇該目錄,如/media/xxx /testxx)調試
④處輸入code
cmake -DCMAKE_PREFIX_PATH=/home/xxx/libtorch/libtorch -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0 -DCUDA_NVCC_EXECUTABLE=/usr/local/cuda-10.0/bin -DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.0/include ..
以下圖所示。
此處直接輸入
cmake -DCMAKE_PREFIX_PATH=/path/to/libtorch ..
失敗了。。。
剩下的全都默認就好了。
以後就能夠編譯成功了。
⑤處可選中,這樣netbeans每次編譯,都會根據CMakeLists.txt從新生成工程,避免修改CMakeLists.txt後,工程不根據CMakeLists.txt更新。
①新建工程選擇C/C++ Application,以下圖所示。
②設置工程名字,路徑等。同時,選擇C++11,以下圖所示。
③工程上右鍵,選擇屬性properties頁面,以下圖。
④C++ Compiler中的Include Directories中,輸入libtorch的include目錄,如/home/xxx/libtorch/include。以下圖。
⑤Linker頁面,分別設置Additional Library Directories和RunTime Search Directories,以下面兩圖所示(因爲我這裏使用的是anaconda,於是把libtorch的lib和anaconda3的lib都加進去了)。
⑥ 在linker的Libraries中,選擇C10和torch庫,以下圖所示(因爲工程中用了opencv,於是在Add PkgConfig Library中選擇了opencv),點擊Add library,在libtorch的lib目錄下,分別選擇libc10.so和libtorch.so,即可以獲得c10和torch。
通過上面的設置以後,即可以在netbeans中編譯及調試使用libtorch的工程了。
說明:
A 第5步中,若是不設置RunTime Search Directories,可能會提示下面的錯誤:
B 另外一方面,將全部的相關庫都加到第6步的library中,能夠編譯成功(沒有測試是否能夠運行),可是debug時,會提示找不到如libgomp-753e6e92.so.1的庫,即使設置了,也找不到,這樣沒法debug。設置了RunTime Search Directories後,即可以debug了。