tensorflow1.14版本在windows上编译(不成功,求解决)

首先说明一点 现在并没有成功编译出tensorflow.dll 和tensorflow.lib等相关文件,但是可以从我编译过程中还是学到点东西的。

首先我机器环境配置是 cmake3.16.0-rc2, anaconda配置环境是tensorflow1.14.0,python版本3.7.4,git ,swigwin-4.0.1,VS2017;首先说CMake tensorflow1.14版本的源码 ,当使用cmake-gui 时,源码路径为:..../tensorflow/contrib/cmake 下,构建路径..../tensorflow/contrib/cmake/bulid 如果没有这个路径 会提示你是否创建 点击是,然后进入config页面,如下图: 

tensorflow1.14版本在windows上编译(不成功,求解决)

点击finish,然后就会出现

tensorflow1.14版本在windows上编译(不成功,求解决)

出现这个不要慌,是因为你的swigwin没有配置,

tensorflow1.14版本在windows上编译(不成功,求解决)

或许还有其他的配置出现NOTFOUND 就是将提示中缺少的给配置上,我的swigwin在e盘,我的配置如下:

tensorflow1.14版本在windows上编译(不成功,求解决)

如果不编译GPU版本,选择如下几项:

tensorflow1.14版本在windows上编译(不成功,求解决)

如果选择 GPU安装 勾选上GPU,然后点击config,如果有GPU选项,那么可能会出现cuda的路径设置,

tensorflow1.14版本在windows上编译(不成功,求解决)

这个选择你cuda安装的路径即可 我的路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 注意,后面的路径就不要在跟了,我后面是v10.0/...  

然后点击config 。等待一会会出现Configuring done。这个时候点击generate,会出现文件找不到,这个时候你需要用一些文件搜索工具将文件拷贝到对应的目录下,你也会发现有些文件找不到,如 cross_replica_ops.cc 但是你能找到 tpu_cross_replica_ops.cc 那么就重命名吧;

然后再次点击generate,应该就可以成功了,这个时候去找到 你bulid的路径,找到sqlite 这个文件夹,在 /src/sqlite-stamp/下找到download-sqlite.cmake,打开后,修改文件下载路径,将前面的路径删掉,只保存后面www开头的,如https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip

png 也删掉github 之前的路径,

这样就不会出现下载不到的情况了。还有一个情况是,必须要*,要不然git根本下载不下来,里面有无穷多的依赖项,都需要下载,如GRPC这个玩意,里面依赖了N多项目,如果翻不过去墙,意味着GG。

然后凡是提示找不到文件的,你就先搜素你计算机 有没有这个文件,然后将项目的附加包含目录 将文件包含进去,我一直提示是This file was generated by an older version of protoc which is error incompatible with your Protocol Buffer headers. Please
error regenerate this file with a newer version of protoc. 如果按照我的步骤 ,也大概率扑街在这里,希望有大神能给个解决方案;