项目场景:
VS2015 Release win32
项目目的:
编译ncnn库时,默认是MD,项目工程需要MT
问题描述:
出现:/MD与/MT不匹配报错
解决方案:
步骤
①CMake编译:下载Protobuf源码-》编译(选择Protobuf源码下的cmake文件夹、新建存放编译的文件夹1)-》Configure-》选择VS、x86、Arm及x64-》去除protobuf_BUILD_TESTS的✔-》在新建的文件夹1中新建一个命名为“install”的文件夹,CMAKE_INSTALL_PREFIX处使用install文件夹路径-》若需要动态链接库,✔protobuf_BUILD_SHARED_LIBS(不需要跳过)-》点击Generate-》文件夹1中“protobuf.sln”用VS中生成(B)下的批生成(T)按需生成
②NCNN源码下新建文件夹1(名称自取)用于存放编译后的内容-》打开x86 Native Tools Command Prompt-》cd 进入文件夹1路径-》按照接下来的步骤(其中“../”使用自己文件夹路径,强调:cmake3.15以上、NCNN_BUILD_WITH_STATIC_CRT=ON):
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=../install/include -DProtobuf_LIBRARIES=../install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=../install/bin/protoc.exe -DNCNN_VULKAN=off -DOpenCV_DIR../Buildx86/install -DNCNN_BUILD_WITH_STATIC_CRT=ON ..
nmake
nmake install