【Windows编译错误】1.8版本Windows下/MD编译GPU预测库出错
Created by: tingnit
- 版本、环境信息: 1)PaddlePaddle版本:1.8,COMMIT ID: 0231f58e 2)CPU:i5-9400F, MKL=OFF,使用OPENBLAS 3)GPU:2080Ti, CUDA10.1,CUDNN7.6 4)系统环境:Windows10,VS2015专业版
- 安装方式信息: 2)本地编译:请提供cmake命令,编译命令
cmake .. -G "Visual Studio 14 2015" -A x64 -T host=x64 -DCMAKE_BUILD_TYPE=Release -DWITH_MKL=OFF -DWITH_GPU=ON -DON_INFER=ON -DWITH_PYTHON=OFF -DCUDA_TOOKIT_ROOT_DIR="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64" -DCUDA_ARCH_NAME=All -DMSVC_STATIC_CRT=OFF
- 问题描述: 使用 /MD 模式进行编译的话,会在最终出错,出错信息有以下几类:
- libprofiler.lib(profiler_generated_profiler.cu.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(io.obj 中)
- msvcprt.lib(MSVCP140.dll) : error LNK2005: "public: __cdecl std::locale::id::operator unsigned __int64(void)" (??Bid@locale@std@@QEAA_KXZ) 已经在 libprofiler.lib(profiler_generated_profiler.cu.obj) 中定义
- libcpmt.lib(ios.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(io.obj 中)
- libtensor.lib(tensor_generated_.tensor_util.cu.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(io.obj 中)
- libtensor.lib(tensor_generated_.tensor_util.cu.obj) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::basic_ostream<char,struct std::char_traits<char> >::operator<<(short)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z) 已经在 msvcprt.lib(MSVCP140.dll) 中定义
- libpaddle_fluid.lib(profiler_generated_profiler.cu.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(pd_config.obj 中)