libtorch编译和使用

该文详细介绍了在Ubuntu16.04系统上如何手动编译安装高版本的CMake和OpenCV,以及如何处理conda无法使用的情况。同时,它提供了编译安装libtorch的步骤,并给出了在VSCode中配置C++项目,包括c_cpp_properties.json、launch.json和tasks.json的示例,以支持libtorch库的链接和调试。

1.0 安装cmake 3.15

Ubuntu16.04安装高版本CMake_华der的博客-优快云博客

2.0 安装opencv

Linux源码编译安装OpenCV4(Ubuntu等)-阿里云开发者社区

3.0 编译安装libtorch 

 libtorch编译C++版本 | 码农家园

conda 不能用了

channels:
  - defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

ubuntu 源码编译libtorch_ubunt

在 Qt 项目中加载 `libtorch` 时出现编译错误 C2061,通常与语法解析问题相关。C2061 错误提示表明编译器遇到了无法识别的标识符或语法结构,可能由以下几种原因导致: ### 1. **头文件顺序问题** 在 Qt 项目中引入 `libtorch` 的头文件时,需要注意头文件的顺序。由于 `libtorch` 使用了 C++14 或更高版本的特性,并且依赖于一些系统库(如 `cstddef`、`cstdint` 等),如果 Qt 的某些头文件与 `libtorch` 的头文件顺序不当,可能会导致编译器无法正确识别某些关键字或类型定义。 **解决方法:** - 确保在引入 Qt 头文件之前先引入 `torch/torch.h`。 - 在 `.pro` 文件中启用 C++14 或更高版本支持: ```qmake QMAKE_CXXFLAGS += -std=c++14 ``` ### 2. **命名空间或宏定义冲突** Qt `libtorch` 都可能使用宏定义或命名空间来控制代码行为。例如,Qt 中的某些宏(如 `slots`)可能与 `libtorch` 内部使用的宏发生冲突。 **解决方法:** - 使用 `#undef` 清除可能冲突的宏定义,例如: ```cpp #include <torch/torch.h> #undef slots ``` - 在包含 `libtorch` 头文件之前,避免引入可能与之冲突的 Qt 模块头文件。 ### 3. **编译器版本不兼容** `libtorch` 对编译器版本有一定要求。如果使用编译器版本过低或与构建 `libtorch` 时使用编译器不兼容,也可能导致 C2061 错误。 **解决方法:** - 确保使用编译器版本与 `libtorch` 的构建版本兼容。 - 推荐使用 MSVC 2019 或更高版本(Windows 平台)或 GCC 7.3+(Linux 平台)。 - 更新 Qt Creator 中的编译器设置,确保使用的是支持 C++14 的编译器。 ### 4. **libtorch 配置问题** 在 Qt 项目中正确配置 `libtorch` 的路径链接方式是关键。若 `.pro` 文件未正确设置动态库路径或链接参数,也可能导致编译错误。 **解决方法:** - 在 `.pro` 文件中添加以下配置以正确链接 `libtorch`: ```qmake INCLUDEPATH += path/to/libtorch/include \ path/to/libtorch/include/torch/csrc/api/include LIBS += -Lpath/to/libtorch/lib -ltorch -lc10 ``` - 如果使用的是 Windows 平台且为 Debug 构建,还需链接 `torch_cpu` `c10` 的调试版本: ```qmake LIBS += -Lpath/to/libtorch/lib -ltorch_cpu -lc10 ``` ### 5. **使用编译头文件(PCH)时的冲突** 在某些情况下,如果项目启用了预编译头文件(PCH),并且 `libtorch` 的头文件未被正确包含在 PCH 中,也可能导致 C2061 错误。 **解决方法:** - 确保 `torch/torch.h` 被包含在预编译头文件中。 - 或者在项目设置中禁用 PCH,检查是否仍出现错误。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值