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

如何为TensorFlow Lite项目创建CMake配置并完成库链接?

解决TensorFlow Lite项目的CMake链接问题

修改后的完整CMakeLists.txt

cmake_minimum_required(VERSION 3.2.2)
project(trash-finder-tf LANGUAGES CXX)

# 设置C++标准,TensorFlow Lite建议至少C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

option (FORCE_COLORED_OUTPUT "Always produce ANSI-colored output (GNU/Clang only)." TRUE)
if (${FORCE_COLORED_OUTPUT})
    if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
       add_compile_options (-fdiagnostics-color=always)
    elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
       add_compile_options (-fcolor-diagnostics)
    endif ()
endif ()

# 引入TensorFlow Lite的CMake构建配置
# 指定子模块构建目录,避免污染主build目录
add_subdirectory(
    ${CMAKE_SOURCE_DIR}/tensorflow/lite
    ${CMAKE_BINARY_DIR}/tflite
    EXCLUDE_FROM_ALL
)

# 修正源文件路径,匹配你的目录结构
add_executable(main
    app/src/main.cpp
)

# 包含项目自身的头文件目录
target_include_directories(main PRIVATE
    app/include/
)

# 链接TensorFlow Lite库到可执行文件
target_link_libraries(main PRIVATE
    tensorflow-lite
)

关键修改说明

  • 路径修正:你的源文件和头文件都在app目录下,因此调整add_executable和target_include_directories的路径,确保CMake能正确定位文件。
  • C++标准设置:TensorFlow Lite现代版本依赖C++17及以上标准,显式声明可避免编译兼容性问题。
  • 引入TensorFlow Lite子模块:通过add_subdirectory加载tensorflow子模块下的lite构建配置,EXCLUDE_FROM_ALL参数仅构建我们需要的TensorFlow Lite目标,而非整个TensorFlow项目,大幅减少构建时间。
  • 库链接:使用target_link_libraries将tensorflow-lite库绑定到你的可执行文件,解决符号未定义问题。

构建步骤

  1. 确保tensorflow子模块已完整拉取:
git submodule update --init --recursive
  1. 进入build目录执行构建:
cd build
cmake -G Ninja ..
ninja

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:45:42