You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在现有CMake C++项目中正确使用TensorFlow Lite 2.6.0?

TF Lite CMake 集成问题解决方案

问题1:静态集成时依赖过多+路径前缀报错

  • 核心原因:你错误地将tensorflow-lite加入了项目的install(TARGETS)配置段,TF Lite 2.6版本的依赖目标(ruy、absl、fft2d等)均为内部私有编译目标,未配置合法的install属性,直接加入install会触发路径校验错误。
  • 解决方案:
    1. 移除install(TARGETS)段中的tensorflow-lite条目,add_subdirectory引入TFLite后,仅需在target_link_libraries中声明依赖tensorflow-lite即可,CMake会自动导入所有依赖的头文件路径、链接参数,无需手动添加80+依赖目标。
    2. 若确实需要将TFLite库安装到项目输出目录,新增如下配置替代直接加入install目标:
    install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite/cmake_install.cmake")
    

问题2:共享库编译时fft2d依赖链接报错

  • 核心原因:TF Lite 2.6的CMake构建脚本不支持全局开启BUILD_SHARED_LIBS,全局开启会强制所有依赖(含fft2d)编译为共享库,而TFLite的内部依赖声明未适配共享库场景,导致链接时找不到对应的导入库。
  • 解决方案:
    1. 移除全局-DBUILD_SHARED_LIBS=ON参数,改用仅编译TFLite为共享库的专属参数:
    cmake ../tensorflow_src/tensorflow/lite \
      -DCMAKE_BUILD_TYPE=Debug \
      -DTENSORFLOW_LITE_BUILD_SHARED_LIBS=ON \
      -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON # Windows环境下必加
    
    1. 若仍存在编译问题,可追加-DTFLITE_ENABLE_XNNPACK=OFF参数关闭XNNPACK组件,2.6版本的XNNPACK在共享库构建场景下存在已知路径适配问题。

内容的提问来源于stack exchange,提问作者icarus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:36:02