配置ncnn项目时,通常会涉及到以下参数,
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:\protobuf-3.21.12\build_vs2017\install\include -DProtobuf_LIBRARIES=D:\protobuf-3.21.12\build_vs2017\install\lib\libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:\protobuf-3.21.12\build_vs2017\install\bin\protoc.exe -DNCNN_VULKAN=OFF -DOpenCV_DIR=D:\code\vs2017\opencv\build ..
各参数作用如下:
- -G"NMake Makefiles":这个参数指定了生成的构建系统的类型。在这里,-G参数后面是生成器的名称,这里是"NMake Makefiles",表示生成 NMake Makefiles,这是适用于Windows平台的一种构建系统。
- -DCMAKE_BUILD_TYPE=Release:这个参数用于设置构建类型为Release。Release构建类型通常用于生成优化后的、用于发布的版本。
- -DCMAKE_INSTALL_PREFIX=%cd%/install:这个参数指定了安装目录的路径。%cd%表示当前目录,install是安装目录的名称。这个参数告诉CMake在构建完成后将生成的文件安装到指定的目录中。
- -DProtobuf_INCLUDE_DIR=...:这个参数指定了Protobuf库的头文件路径。
- -DProtobuf_LIBRARIES=...:这个参数指定了Protobuf库文件的路径。
- -DProtobuf_PROTOC_EXECUTABLE=...:这个参数指定了Protobuf的protoc可执行文件的路径。
- -DNCNN_VULKAN=OFF:这个参数用于设置 NCNN 库是否启用Vulkan支持,这里设置为OFF,表示关闭Vulkan支持。
- -DOpenCV_DIR=...:这个参数指定了OpenCV库的路径。
- ..:这个是CMake的路径参数,表示告诉CMake在上一级目录中查找CMakeLists.txt文件进行配置。
除了以上参数,还可以使用其他参数来进一步配置项目。以下是一些常用的参数示例:
- -DNCNN_BUILD_TESTS=OFF:用于控制是否构建NCNN的测试。将其设置为OFF可以禁用测试构建,加快构建过程。
- -DNCNN_BUILD_EXAMPLES=ON:用于控制是否构建NCNN的示例程序。将其设置为ON可以构建示例程序。
- -DNCNN_USE_STATIC_LIB=ON:用于控制是否使用静态链接库。将其设置为ON可以强制使用静态链接库而不是动态链接库。
- -DNCNN_OPENMP=OFF:用于控制是否启用OpenMP多线程支持。将其设置为OFF可以禁用 OpenMP,适用于不需要多线程支持的情况。
- -DNCNN_DISABLE_RTTI=ON:用于控制是否禁用运行时类型信息(RTTI)。将其设置为ON可以禁用RTTI,减小生成的代码体积。
- -DNCNN_DISABLE_EXCEPTION=ON:用于控制是否禁用异常处理。将其设置为ON可以禁用异常处理,适用于对异常处理机制要求较低的情况。
- -DNCNN_AVX2=OFF:禁用AVX2指令集的支持。
- -DNCNN_AVX=OFF:禁用AVX指令集的支持。(新版本ncnn新增的开关)
- -DNCNN_SSE2=OFF:禁用SSE2指令集的支持。(新版本ncnn新增的开关)