windows10+libtorch1.0.0 cpu版本+opencv4.0.0 cmake安装编译

目录

  • 前期准备
  • 配置CmakeLists
  • cmake编译所需目录结构
  • cmake编译
  • 参考

前期准备

下载cmake:https://cmake.org/download/ #安装时手动更改选项以添加到环境变量中
下载libtorch:https://pytorch.org/get-started/locally/
下载opencv:https://opencv.org

配置CmakeLists

新建一个名为CMakeLists.txt的文件,内容如下:

cmake_minimum_required(VERSION 3.12 FATAL_ERROR)
project(test)

set(CMAKE_PREFIX_PATH "G:\\Program Files\\libtorch-win-shared-with-deps-latest\\libtorch\\share\\cmake\\Torch")
find_package(Torch REQUIRED)
find_package(OpenCV REQUIRED)

if(NOT Torch_FOUND)
    message(FATAL_ERROR "Pytorch Not Found!")
endif(NOT Torch_FOUND)

message(STATUS "Pytorch status:")
message(STATUS "    libraries: ${TORCH_LIBRARIES}")

message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")


add_executable(test main.cpp)
target_link_libraries(test ${TORCH_LIBRARIES} ${OpenCV_LIBS})
set_property(TARGET test PROPERTY CXX_STANDARD 11)

其中“test”是项目名称,CMAKE_PREFIX_PATH 要根据自己下载libtorch的地址进行更改。

cmake编译所需目录结构

新建一个文件夹,将CmakeLists.txt放入其中,并新建其他文件,目录结构如下:
windows10+libtorch1.0.0 cpu版本+opencv4.0.0 cmake安装编译_第1张图片
build是一个空的文件夹,编译好的文件都会放在里面,main.cpp就是工程的主函数。

cmake编译

在编译之前需要在环境变量中添加OpenCV_DIR这个变量,值需要按自己的地址更改。
windows10+libtorch1.0.0 cpu版本+opencv4.0.0 cmake安装编译_第2张图片
如果不进行这种更改,会出现not providing “*.cmake” in CMAKE_MODULE_PATH类的错误。

打开命令行界面,进入build文件夹。
编译命令如下:

cmake -DCMAKE_PREFIX_PATH=G:\Program Files\opencv-4.0.0-vc14_vc15\build\x64\vc15\lib;G:\Program Files\libtorch-win-shared-with-deps-latest\libtorch -DCMAKE_BUILD_TYPE=Release -G"Visual Studio 15 Win64" ..

根据个人环境的不同做适当修改,DCMAKE_PREFIX_PATH改成自己的opencv路径,-G后面的内容也需要更改,这两个都是根据不同vs版本更改,本人环境是vs2017,如果是2015需要将opencv路径中的vc15改成vc14,-G后面的内容改成"Visual Studio 14 Win64" 。分号后是libtorch的路径,也需要修改,编译方式是release

编译完成后的文件夹内容如下:
windows10+libtorch1.0.0 cpu版本+opencv4.0.0 cmake安装编译_第3张图片
打开test.vcxproj,进入工程:
windows10+libtorch1.0.0 cpu版本+opencv4.0.0 cmake安装编译_第4张图片
需要将该test这个项目设为启动项(右键test可以设置)。

如果编译成功后,运行.cpp显示程序无法启动ALL_BUILD 拒绝访问,则将ALL_BUILD和ZERO_CHECK右键卸载项目。

如果报错找不到dll文件,则将libtorch\lib文件夹中相应的dll文件复制到项目文件夹下\build\Release中即可。

用vs运行.cpp时要讲解决方案配置改为Release x64的方式。

参考

1.https://zhuanlan.zhihu.com/p/55292836
2.https://blog.csdn.net/jacke121/article/details/88708680
3.https://www.douban.com/note/511006818/

你可能感兴趣的:(配置环境)