(原)netbeans中使用libtorch

轉載請註明到處:html

http://www.javashuo.com/article/p-ewhzsxkf-du.htmlc++

說明:第一種方式在netbeans中沒法debug代碼,設置了斷點也不會在斷點處中止,而是直接過去了;第二種方式能夠debug代碼。app

1. 使用CMakeLists.txt

將以前(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更新。

2. 直接設置netbeans工程

①新建工程選擇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了。

相關文章
相關標籤/搜索