VS2015 + CMake3.7.1 + Opencv3.1.0重新编译成静态库,方便发布程序的时候不带很多的dll。但是使用过程中会出现 error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”的错误。
该问题引起的原因肯定是RuntimeLibrary项设置错误,RuntimeLibrary项具体包含以下几项:
Reusable Library Switch Library Macro(s) Defined
Single Threaded | /ML | LIBC | (none) |
Static MultiThread | /MT | LIBCMT | _MT |
Dynamic Link (DLL) | /MD | MSVCRT | _MT and _DLL |
Debug Single Threaded | /MLd | LIBCD | _DEBUG |
Debug Static MultiThread | /MTd | LIBCMTD | _DEBUG and _MT |
Debug Dynamic Link (DLL) | /MDd | MSVCRTD | _DEBUG, _MT, and _DLL |