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

Ubuntu系统全局配置TensorFlow Lite解决C++头文件找不到问题

问题根因

你代码中引入头文件的路径为tensorflow/lite/interpreter.h,编译器搜索头文件时,会在已配置的头文件目录下拼接该相对路径匹配文件。你的TFLite源码存放在/home/me/tensorflow_src/tensorflow/lite/,也就是说包含tensorflow文件夹的上级目录是/home/me/tensorflow_src/,之前没有将该目录加入头文件搜索范围,编译时自然会触发文件找不到的错误。
注意:不要直接把/home/me/tensorflow_src/tensorflow/lite/加入搜索路径,这种情况下你只能用#include "interpreter.h"的写法引入头文件,和你现有代码的引入路径不匹配。

方案1:修改Bash配置实现全局生效

该方案配置后对当前用户所有C++项目生效,操作步骤如下:

  • 打开终端,编辑当前用户的bash配置文件:nano ~/.bashrc
  • 滚动到文件最末尾,添加以下配置内容:
# 配置TFLite全局头文件搜索路径
export CPLUS_INCLUDE_PATH=/home/me/tensorflow_src:$CPLUS_INCLUDE_PATH
# 配置TFLite预编译库搜索路径(后续链接库时需要)
export LIBRARY_PATH=/home/me/tensorflow_src/bazel-bin/tensorflow/lite:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/me/tensorflow_src/bazel-bin/tensorflow/lite:$LD_LIBRARY_PATH
  • 按Ctrl+O保存,Ctrl+X退出编辑器,执行source ~/.bashrc让配置立即生效。

风险提示:全局配置可能导致多个依赖不同版本TFLite的项目出现版本冲突,无特殊需求优先使用下面的项目级CMake配置方案。

方案2:修改项目CMake配置(无全局污染,推荐)

不需要修改任何系统全局配置,仅对你当前的C++项目生效,修改后的完整CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.22)
project(mediafile_device_crossverification)

set(CMAKE_CXX_STANDARD 17)

set(OpenCV FOUND 1)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

# 加入TFLite头文件搜索路径
include_directories(/home/me/tensorflow_src)
# 如果已经提前编译生成TFLite静态库,取消下面注释添加库搜索路径
# link_directories(/home/me/tensorflow_src/bazel-bin/tensorflow/lite)

add_executable(mediafile_device_crossverification main.cpp src/VideoProcessing.cpp src/VideoProcessing.h)

# 链接依赖库,已编译TFLite的话把tensorflowlite加入链接列表
target_link_libraries(mediafile_device_crossverification ${OpenCV_LIBS})
# target_link_libraries(mediafile_device_crossverification ${OpenCV_LIBS} tensorflowlite)

配置完成后,删除项目原有的build缓存目录,重新执行cmake、make编译流程即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:06:10