windows下编译darknet
使用vs2015 配置失败
疯狂报错有位置引用错误
配置环境 cuda版本11.6
报错如下
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 11.6.props(71,9): 静态方法调用语法“[MSBuild]::NormalizePath('$(ProjectDir)', '$(CudaIntDir)')”无效。未找到方法“[MSBuild]::NormalizePath”。 静态方法调用应采用以下形式:$([FullTypeName]::Method()),例如 $([System.IO.Path]::Combine(a
, b
))。
一般网上都是让改darknet.vcxproj 但是我在其他的windows搭建成功过cuda 11.1版本的,当时只需要改两个cuda的版本就可以了,在网上搜有人说是vs2015的版本问题
我重装了vs2015update3版本的 结果除了报错明了了一点之外基本没有变化,由此。 感觉没啥道路了
换了编译方案
cuda cudnn都装完了,并且是同一版本的
参考文章
https://www.freesion.com/article/9942965948/
使用windowsPowershell编译
下载AB版本的darknet
https://github.com/AlexeyAB/darknet
具体操作是管理员打开powershell
Set-ExecutionPolicy RemoteSigned
然后.\build.ps1
他要下vcpkg,在Github上下载了代码之后也不识别 非得给我更新 看了下源代码之后把vcpkg enable设置为no 跳过了 不是非用不可,配置的齐全的话不会报错
和之前玩法不一样但是build出来一个darknet.exe了 两个方案测试
一个是直接拿图片和标准权重测试能否标注 √\
一个是训练看是否能训练
结果是确实可以训练,但是如果把编译的东西挪到C盘重新编译,那么就会找不到下面这个dll 对此我没找到方法,暂且放弃
Could not load library cudnn_cnn_infer64_8.dll. Error code 126
Please make sure cudnn_cnn_infer64_8.dll is in your library path!
有趣的是这个编译结果在E盘是完全没有问题的
然后换到C盘直接调用也是没有问题的
问题出现在重新编译之后
喵的 和工程文件的位置没有关系,应该是环境的问题,重编译之后都不行了