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

Ubuntu 22.04下CMake编译TensorFlow Lite C++遇未定义引用错误

解决Ubuntu 22.04 x86_64上TensorFlow Lite C++最小示例的未定义引用错误

问题根源

你遇到的未定义引用错误(如Register_ABS()),本质是构建流程未将所有TensorFlow Lite内置算子的编译单元正确链接;microkernels-all构建错误则大概率是残留配置或分支代码不稳定导致的。以下是经过验证的修复步骤:


步骤1:切换到稳定版本并清理残留构建

主分支代码可能存在未修复的兼容性问题,优先使用官方稳定版本:

# 若已克隆仓库,直接切换分支;未克隆则先执行git clone https://github.com/tensorflow/tensorflow.git tensorflow_src
cd tensorflow_src
git checkout v2.15.0
rm -rf minimal_build tflite_build # 清理所有旧构建目录

步骤2:安装依赖

确保系统具备完整的编译环境:

sudo apt-get update && sudo apt-get install -y build-essential cmake git libatlas-base-dev

步骤3:构建完整TensorFlow Lite静态库

从TensorFlow Lite根目录构建,确保所有内置算子被编译:

mkdir tflite_build && cd tflite_build
cmake ../tensorflow/lite \
  -DTFLITE_BUILD_STATIC_LIB=ON \
  -DTFLITE_BUILD_ALL_KERNELS=ON \
  -DCMAKE_C_COMPILER=gcc-11 \
  -DCMAKE_CXX_COMPILER=g++-11
cmake --build . -j$(nproc)

注:指定gcc-11/g++-11是因为Ubuntu 22.04默认的gcc-12部分语法与TFLite代码存在兼容冲突

步骤4:构建最小示例并链接静态库

cd ../..
mkdir minimal_build && cd minimal_build
cmake ../tensorflow_src/tensorflow/lite/examples/minimal \
  -DTENSORFLOW_LITE_DIR=../tensorflow_src/tensorflow/lite \
  -DTFLITE_STATIC_LIB=../tensorflow_src/tflite_build/libtensorflow-lite.a
cmake --build . -j$(nproc)

验证运行

将你的TFLite模型传入可执行文件测试:

./minimal path/to/your/model.tflite

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:36:12