VS配置opencv、cuda及调用yolo动态链接库
0、首先依次安装VS2015,cuda,opencv ,并配置环境变量
1、其次分别为VS配置cuda和opencv依赖(Vc++包含目录、库目录,链接器附加依赖,在属性管理器(视图——其他窗口)中的degug/release下的管理员属性表Mycrosoft.Cppx64.user中配置可以自动继承到所有项目中,继承有时候会有些问题新的项目提示找不到lib,最好还是保存属性表,临时加载。只继承少数oprncv344.lib和opencv344d.lib。其他的6个lib文件设置到一个属性表里去临时添加给项目)
-
VS配置cuda
Vc++ 包含目录
$(CUDA_PATH_V10_0)\include
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\inc
Vc++库目录
$(CUDA_PATH_V10_0)\lib$(Platform)
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\lib\x64
链接器-输入-附加依赖项
cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
OpenCL.lib
最后根据英伟达官网更改VS中配置显卡的计算能力,cuda c/c++——device ——code generation — compute_75,sm_75
-
VS配置opencv
Vc++ 包含目录
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
Vc++库目录
D:\opencv\build\x64\vc14\lib
链接器-输入-附加依赖项
opencv_world344.lib
opencv_world344d.lib
2、下面项目调用dll时环境必须和生成dll的时环境模式相同,要么都是debug要么都是release。
下面yolo的两种运行方式:
2.0、windows shell(cmd)
0. 编译(标题栏——生成——生成darknet(U)) darknet.sln得到:
darknet.exe
- 记得加载权重到附近,有了exe文件即可。
2.1、调用动态链接库实现(dll)
0、编译(项目上右键——生成) yolo_cpp.dll.sln得到: yolo_cpp.dll.dll和yolo_cpp.dll.lib
1、新建空白文件(保证模式与dll导出模式相同),添加main文件,并将cfg文件,weights文件,类别文件,训练/测试图片集拷到main文件附近
2、将此项目的动态依赖库yolo_cpp_dll.dll,pthreadGC2.dll,pthreadVC2.dll拷到附近;将此项目需要的链接库yolo_cpp_dll.lib添加到输入链接器依赖(或者直接在程序中pragma引入),项目上右键生成依赖项——生成自定义——勾选cuda
3、将yolo_cpp_dll.sln下的hpp文件拷到main文件附近 (右键——查看代码(txt)——另存).