CLion IDE用MSVC和cmake编译darknet(带GPU)

这个配置教程给用过pytorch,懂得深度学习代码的基本流程,但又不熟悉windows c++开发环境的宝子们使用。

安装CUDA,CUDNN

一般都有,不说了。注意上nvidia官网看一下显卡架构,后面要用,比如我的丽台M2000架构是52

下载Visual Stdio

目前官网下不到2017,只有2022,没关系,我们安装的时候勾选 MSVC v141 - VS2017 C++ x64/x86 生成工具
在这里插入图片描述

更改配置

打开x64 Native Tools Command Prompt for VS 2022 ,开始菜单里可找到
如果打开vs prompt,输入cl,默认是最新的那个msvc,最新的这个版本太高了,如果你编译会提示你需要的cuda版本需要大于12.4,我工作电脑不能装这么高的版本。我们需要更改msvc版本,换成之前勾选的141
找到C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools下有个VsDevCmd.bat的脚本,是vs prompt的启动脚本,需要在最后的exit /B 0前面添加以下内容。其中14.16.27023是你装的msvc版本。10.0.22621.0是windows kit的版本,注意看自己是不是。

set EXTERNAL_INCLUDE=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include;C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt
set INCLUDE=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include;C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt
set LIB=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22621.0\\um\x64
set LIBPATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\lib\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\lib\x86\store\references;C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22621.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.22621.0;C:\Windows\Microsoft.NET\Framework64\v4.0.30319
set VCToolsInstallDir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\
set VCToolsRedistDir=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.16.27012\
set VCToolsVersion=14.16.27023
set PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\%PATH%

这些内容是哪里看的?如果你使用clion自带的cmake编译cmakelists,会出现报错,如果熟练使用clion,你可以看到vs prompt打印了哪些默认的初始变量,这些全部都要修改。

如果你改
如果你改成功了,是这样的

配置CLION选项

配置clion的cmake参数,toolchain选择visual stdio
在这里插入图片描述
cmake options需要添加以下内容,这里我没开OPENCV,因为没装,你装了可以删掉,注意了这里-DCMAKE_MAKE_PROGRAM一定要填vs的ninja,因为用clion的ninja找的是他自己的mingw,会爆cuda编译相关错误。

-DCMAKE_CUDA_ARCHITECTURES=52 -DENABLE_OPENCV:BOOL=OFF "-DCMAKE_MAKE_PROGRAM=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe"

添加一下CMAKE_CUDA_COMPILER,这是nvcc路径,可以作为环境变量,也可以写进cmake options里
在这里插入图片描述
注意改一下toolchain /visual stdio的c compiler和c++ compiler,msvc要重选
在这里插入图片描述

运行Cmake和build project

打开clion的cmake,会弹出来,运行成功就是这样。
在这里插入图片描述
点击 build/build all visual stdio debug。成功就会在目录下生成darknet.exe
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值