(原)netbeans中使用libtorch

转载请注明处处:

https://www.cnblogs.com/darkknightzh/p/11479330.html

说明:第一种方式在netbeans中无法debug代码,设置了断点也不会在断点处停止,而是直接过去了;第二种方式可以debug代码。

1. 使用CMakeLists.txt

将之前(https://www.cnblogs.com/darkknightzh/p/11479240.html)写好的CMakeLists.txt和example-app.cpp放到某文件夹内,如

/media/xxx/disk1T/code/C/testxx

①选择具体路径

② 选择custom,如下图所示

netbeans----file----new----c/c++ project with existing sources

③选择当前目录下一个目录(先新建build,然后选择该目录,如/media/xxx /testxx)

④处输入

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了。

posted on 2019-09-07 10:01  darkknightzh  阅读(535)  评论(0编辑  收藏  举报

导航