注:操作系统为64bit
本文使用tensorflow dll 编译tensorflow,输出dll和lib。注意tensorflow dll 从官方tensorflow Fork来的,由meteorcloudy维护。
工程所需软件及测试源码下载链接
bazel: https://download.csdn.net/download/sinat_19758811/11225764
其他资料:https://download.csdn.net/download/sinat_19758811/11225766
1. tensorflow dll 源码下载:https://github.com/meteorcloudy/tensorflow.git
2. msys2安装:http://www.msys2.org/(选择最新版下载(选择msys2-x86_64-*.exe),苯本人将其安装至C盘)
配置msys2:
pacman -S patch, unzip, grep
3. bazel下载:bazel 0.22版本 https://github.com/bazelbuild/bazel/releases/download/0.22.0/bazel-0.22.0-windows-x86_64.exe
bazel配置:
将bazel-0.22.0-windows-x86_64.exe改名为 bazel.exe放入 C:\msys64中,并新建环境变量:BAZEL_SH,BAZEL_VC ,BAZEL_VS
1. 运行配置文件configure.py
cd进入 tensorflow-tensorflow_dll文件夹中,
运行 python configure.py
回车即为选择默认
本文仅编译CPU,若编译GPU版本 按照提示配置好路径
2. bazel编译
下面的命令直接会编译dll和lib 以及需要的头文件
bazel build --config=opt //tensorflow/tools/lib_package:libtensorflow
可能遇到的错误:
ERROR: error loading package '': Encountered error while reading extension file 'swift/repositories.bzl': no such package '@build_bazel_rules_swift//swift':
解决方法:
打开tensorflow源码目录里的 WORKSPACE, 在49行后加入
http_archive(
name = "build_bazel_rules_swift",
strip_prefix = "rules_swift-0.6.0",
urls = ["https://github.com/bazelbuild/rules_swift/archive/0.6.0.tar.gz"],
)
如下图:
重新运行:
bazel build --config=opt //tensorflow/tools/lib_package:libtensorflow
3. 编译完成
编译完成后,可找到libtensorflow.tar.gz
tensorflow-tensorflow_dll\bazel-out\x64_windows-opt\bin\tensorflow\tools\lib_package
libtensorflow.tar.gz
解压后即可得到 include 和tensorflow.dll 和 tensorflow.lib
目录结构
新建VS2015工程, 选择x64平台
注意配置工程的 包含目录、库目录、附加依赖项
#include
#include
int main()
{
printf("TF version is: %s\n", TF_Version());
return 0;
}