(原)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了。
(原)netbeans中使用libtorch的更多相关文章
- netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类
此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...
- netbeans中实体类代码的bug
用了netbeans中实体类代码后,忽然报错: com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到sun.util.logging.Platf ...
- C++primer原书中的一个错误(派生类using声明对基类权限的影响)
在C++primer 第4版的 15章 15.2.5中有以下这样一段提示: "注解:派生类能够恢复继承成员的訪问级别,但不能使訪问级别比基类中原来指定的更严格或者更宽松." 在vs ...
- Java原子类中CAS的底层实现
Java原子类中CAS的底层实现 从Java到c++到汇编, 深入讲解cas的底层原理. 介绍原理前, 先来一个Demo 以AtomicBoolean类为例.先来一个调用cas的demo. 主线程在f ...
- NetBeans中从实体创建Restful webservice工程
分布式系统和移动计算...... 这学期上的课,名字听起来是不是很霸气? 然而 其实就是 restful 和 安卓...... 汗....... 用的IDE还是netBeans, 第一次听说有这个ID ...
- 在 NetBeans 中开发一般 Java 应用程序时配置 Allatori 进行代码混淆
要在 NetBeans 中开发一般 Java 应用程序时利用 Allatori 进行代码混淆,设置比 IntelliJ IDEA 稍微简单一点,首先在 NetBeans 项目所在硬盘目录内创建一个名为 ...
- [原]MFC中DIALOG(对话框)程序响应加速键(快捷键)
[原]MFC中DIALOG(对话框)程序响应加速键(快捷键) 2014-8-6阅读266 评论0 新建一个对话框程序,项目名为Test,删除默认确定,取消和静态文本框控件.添加一个按钮,Caption ...
- 神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
前言 开心一刻 感觉不妙呀,弟弟舔它! 不该舔的,舔到怀疑人生了...... GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写 ...
- [转]神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
原文:https://www.cnblogs.com/youzhibing/p/11516154.html 这篇文章,对group by的讲解不错 -------------------------- ...
随机推荐
- 毕业一年的大专生程序员工作总结(java后台)
文章导读 一.回眸过去-- 闲扯的话-- 零碎的技术 二.经验总结-- 沟通交流-- 贵在坚持-- 合理规划 三.展望未来-- 积累行业背景-- 学习清单 四.最后补充 一. 回牟过去 1.闲扯的话 ...
- [LeetCode] 21. Merge Two Sorted Lists 混合插入有序链表
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- NLP中一些数学知识
1.所谓概率函数就是要在整个样本空间分配概率值,概率值总和为1 2.一个完备的概率空间应该由样本空间,概率函数和事件域这三部分组成,在统计自然语言处理中,我们的目标就是为建立的模型定义一个符合上述条件 ...
- nginx日志说明
一.日志说明 nginx日志主要有两种:访问日志和错误日志.访问日志主要记录客户端访问nginx的每一个请求,格式可以自定义:错误日志主要记录客户端访问nginx出错时的日志,格 式不支持自定义.两种 ...
- VIPKID:笔试题(数组中和为0的一对数的数量,十进制转二进制中1的个数)
1. 求数组中的和为0 的一对数的数量 注意,需要用到set import java.util.Scanner; public class Main{ public static void main( ...
- firefly rk3399 增加 HL-340 驱动(编译内核)
前言:新下载了firefly rk3399 ubuntu固件16.04,但是发现没有HL-340 USB转串口的驱动,而机器人底盘驱动是HL-340的,所以一直提示无法找到设备驱动. 由于没有技术支持 ...
- ng使用bootstrap
1.在项目中使用命令 npm i bootstrap -s来创建bootstrap 2.创建完成之后在 angular.json中引入进去 "styles": [ ...
- vCenter6.7的简单安装与使用
1.VMware的vCenter已经有了很大的改进,安装过程极为简单方便. 2. 下载vCenter的安装包即可. 我这边下载的ISO为: VMware-VIM-all--.iso 网上有资源,通过百 ...
- 使用 Docker 和 Jenkins 持续交付(新书免费获取!)
今天没有长篇大论,给大家推荐一本新书,书名:Continuous Delivery with Docker and Jenkins.封面如图所示: 以下内容纯属凑字数 本书结合了 Jenkins 和 ...
- 【06】Kubernets:资源清单(控制器 - Deployment)
写在前面的话 上一节主要简单的提了一下控制器都有哪些常用的,并且简单的功能是啥,最后一并提了 ReplicaSet 控制器. 但是 ReplicaSet 一般不需要我们直接配置,多以从本节开始,开始学 ...