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

如何将源码编译的Tensorflow链接到C++项目中

C++项目链接已编译Tensorflow库的正确配置步骤

第一步:补全Tensorflow编译目标

你完成基础编译后,需要额外执行编译命令生成聚合的头文件与C++ API专用库:

# 生成所有C++ API所需头文件
bazel build //tensorflow:install_headers
# Linux平台编译C++动态库(架构和你项目保持一致)
bazel build //tensorflow:libtensorflow_cc.so
# Windows平台编译C++动态库对应的命令
bazel build //tensorflow:tensorflow_cc.dll

编译完成后你会在bazel-bin/tensorflow目录下得到对应的库文件与聚合后的include目录。

第二步:配置C/C++附加包含目录

你之前添加的路径不全,需要新增以下路径到项目属性->C/C++->附加包含目录:

  • Tensorflow源码根目录
  • bazel-bin\tensorflow\include(上一步install_headers生成的聚合头文件目录)
  • bazel-tensorflow\external\eigen_archive
  • bazel-tensorflow\external\protobuf_archive\src
  • bazel-tensorflow\external\com_google_absl
  • bazel-tensorflow\external\nsync\public
    如果后续仍有头文件找不到的报错,直接搜索报错提示的头文件在bazel-tensorflow\external下的存放路径,将上层目录添加到包含列表即可。

第三步:配置链接器参数

你当前只配置了头文件路径,未配置链接相关参数,这是报错的核心原因:

  1. 打开项目属性->链接器->常规->附加库目录,添加bazel-bin\tensorflow路径
  2. 打开项目属性->链接器->输入->附加依赖项,添加对应库文件:
    • Windows动态库版本:添加tensorflow_cc.lib、tensorflow_framework.lib
    • Linux动态库版本:添加libtensorflow_cc.so、libtensorflow_framework.so
    • 静态编译版本根据你编译生成的静态库名称添加即可

第四步:运行时配置

如果使用动态库版本,需要将编译生成的libtensorflow_cc.dll、libtensorflow_framework.dll(Windows)或者对应的so文件(Linux)放到项目输出目录,或者添加到系统PATH环境变量中,避免运行时找不到库的报错。

常见问题排查

  • 确认Tensorflow编译时选择的架构(x86/x64)、运行库版本(MD/MT)和你的C++项目完全一致,否则会出现符号不匹配的链接错误
  • 如果你编译的是带CUDA支持的Tensorflow,需要确保你的项目也配置了对应版本的CUDA包含目录与库路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 13:03:02