CMake的使用 和 TensorFlow Lite v2.11.0 编译的一些问题

原创
2023/02/21 23:25
阅读数 45

cmake

  • 版本需要大于3.16
  • 显示clone日志: -DFETCHCONTENT_QUIET=OFF
  • 导出编译命令日志:-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
  • 强制使用 c++17:
		-DCMAKE_CXX_FLAGS=-std=c++17
		-DCMAKE_CXX_STANDARD=17
		-DCMAKE_CXX_STANDARD_REQUIRED=ON

安卓平台

  • 需要下载ndk-bundle, 并将最新版的ndk目录下的platforms复制过去ndk\23.1.7779620\platforms => ndk-bundle\platforms
			-DCMAKE_SYSTEM_NAME=Android
			-DCMAKE_SYSTEM_VERSION=19
			-DANDROID_PLATFORM=android-19
			-DANDROID_ABI=${ABI}
			-DCMAKE_ANDROID_ARCH_ABI=${ABI} 
			-DANDROID_NDK=${NDK_DIR} 
			-DCMAKE_ANDROID_NDK=${NDK_DIR} 
			-DCMAKE_TOOLCHAIN_FILE=${NDK_DIR}build/cmake/android.toolchain.cmake 
			-DCMAKE_MAKE_PROGRAM=${CMAKE_DIR}ninja.exe
			-GNinja

TensorFlow Lite

  • 需要修改lite/CMakeLists.txt定义一些宏add_definitions("-DCL_DELEGATE_ALLOW_GL -DTFLITE_GPU_BINARY_RELEASE -DEGL_EGLEXT_PROTOTYPES") 以便启用GL的一些特性
  • 同时需要添加GL的源码, 参考 https://gitee.com/wmlgl/tensorflow_lite_build
  • 去除 benchmark 和 label_image 编译目标
  • 编译参数
		-DABSL_PROPAGATE_CXX_STD=ON
		-DTFLITE_ENABLE_RUY=ON
		-DTFLITE_ENABLE_GPU=ON
		-DTFLITE_ENABLE_NNAPI=OFF
		-DTFLITE_ENABLE_XNNPACK=OFF
		-DTFLITE_ENABLE_MMAP=OFF
		-DFLATBUFFERS_BUILD_FLATC=OFF "

  • 安装参数
		-DABSL_ENABLE_INSTALL=ON
		-DFLATBUFFERS_INSTALL=ON
		-DRUY_ENABLE_INSTALL=ON
		-DTFLITE_ENABLE_INSTALL=ON
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部