下载:
1、VS2017
2、CUDA
3、CMake(msi)
4、TBB:源码|release(oss_win.zip)(也可以直接下载,我选择了exe的安装)。
5、openMP(不用下载)
6、MKL(切换到Windows有时候有点慢,要注册一下啊)
8、OpenCV+opencv_contrib(版本要一致啊,我一般喜欢用最新的)
安装:
1、安装VS2017(最好先安装,因为之后cuda会安装例子,勾选.net视为了以后做界面的,没有必要可以不选)
2、安装cuda:(关掉VS)
a、安装时自动配置好了CUDA_PATH、CUDA_PATH_V10_0.
b、配置环境变量:
新建:
CUDA_BIN_PATH: %CUDA_PATH%\bin
CUDA_LIB_PATH: %CUDA_PATH%\lib\x64
CUDA_SDK_BIN_PATH: %CUDA_SDK_PATH%\bin\Win64
CUDA_SDK_LIB_PATH: %CUDA_SDK_PATH%\common\lib\ x64
CUDA_SDK_PATH: E:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0
编辑:
PATH: ;%CUDA_BIN_PATH%
;%CUDA_LIB_PATH%
;%CUDA_SDK_BIN_PATH%
;%CUDA_SDK_LIB_PATH%
;%CUDA_SDK_PATH%
c、测试:
CMD测试:nvcc -V
VS测试:
运行CUDA例子:E:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0(随便找一个设为启动项就好了)
3、安装Cmake :
4、TBB:(后来改成了exe了)解压就好了
环境变量(可以不配置):
Path:E:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2019.0.117\windows\redist\intel64_win\tbb\vc14
5、openMP:不用安装
6、直接安装mkl:这里采用默认的(VS要关闭的,Fortran我没有选,因为我电脑上没有)
7、Googletest安装:
选中MSVC中的解决方案:
编译:gtest(我编译的是release|X64)
8、编译opencv + opencv_contrib
a、打开cmak选择OpenCV的代码路径以及编译后的输出路径:
b、点击configure,选择x64平台,点击finish(默认启用ffmpeg和IPP,以前会出错G_F_W现在好了),直到configuring done:
c、因为怕出错所以分步骤进行BUILD_opencv_world\BUILD_opencv_contrib_world(构建为单个DLL):
1)搜索tbb勾选with_tbb点击configure,直到configuring done:分别配置(
tbb_env_include:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/tbb/include/tbb
tbb_env_lib:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/tbb/lib/intel64_win/vc14/tbb.lib
tbb_env_lib_debug:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/tbb/lib/intel64_win/vc14/tbb_debug.lib
tbb_ver_file:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/tbb/include/tbb/tbb_stddef.h
)
2)配置opencv_contrib,搜索extra_modules_path,找到opencv_contrib下的modules文件夹路径,点击configure,直到configuring done(好像因为网络原因会失败,多试几次应该会好):
3)同理with_cuda、with_OPENMP、with_ipp(我把MKL_WITH_TBB和MKL_WITH_OPENMP都选上了不知道有没有用)点击configure,直到configuring done.
MKL_ROOT_DIR:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/mkl
MKL_INCLUDE_DIRS:E:/Program Files (x86)/IntelSWTools/compilers_and_libraries_2019.0.117/windows/mkl/include
4)点击generate
编译
1、打开opencv.sln
2、install右键,仅生成
注意:一开始出现了error MSB3073 这样的错误,然后就到输出里看看那个环节没有编译成功,定位到错误就是之前配置tbb的时候,配置成了tbb.dll的路径,应该配置成tbb.lib的,然后从install编译为入口,挨个编译,直到问题解决(其实也偷懒了一部分)。先编译3rdparty然后dispatched然后modules再然后applications最后INSTALL