Windows下搭建TensorFlow环境4(CPU版本)

编译出错问题解决

Library machine type 'X86' conflicts with target machine type 'x64' 

出错信息如下:

Windows下搭建TensorFlow环境4(CPU版本)

分析原因:

由于zlib、gif、png、jpeg、jsoncpp、farmhash、fft2d、highwayhash、 grpc工程属性配置的机型为X86(应为X64),导致生成的库文件有问题;估计是CMake在Windows下有Bug,导致使用CMake生成VS前的修改没有完全生效,需要再手动修改确认。

解决方法如下:

找到下面的lib工程:

Windows下搭建TensorFlow环境4(CPU版本)

对各工程属性配置做2处修改确认工作:

1.    RuntimeLibrary:将MD修改为MT;

2.    目标机型:将X86修改为X64;

具体步骤如下:

以解决gif\install\lib\giflib.lib问题为例

首先,在工程目录内找到giflib.sln文件:

Windows下搭建TensorFlow环境4(CPU版本)

打开工程,选择Release,在Win32下拉列表内选择配置管理器,

Windows下搭建TensorFlow环境4(CPU版本)

弹出如下对话框,在Win32下拉列表内选择“New”:

Windows下搭建TensorFlow环境4(CPU版本)

在对话框选择x64,点击OK即可配置x64平台:

Windows下搭建TensorFlow环境4(CPU版本)

Windows下搭建TensorFlow环境4(CPU版本)

在giflib工程上,点击鼠标右键,选择“Properties”;

Windows下搭建TensorFlow环境4(CPU版本)

弹出属性对话框:点击C/C++—Code Generation—Runtime Library—将MD修改为MT:

Windows下搭建TensorFlow环境4(CPU版本)

将Libration—All Options—Addition Options—将x86修改为x64:

Windows下搭建TensorFlow环境4(CPU版本)

在Release下编译此工程:

Windows下搭建TensorFlow环境4(CPU版本)

显示0错误即可:

Windows下搭建TensorFlow环境4(CPU版本)

打开Everything软件,在软件内输入giflib.lib:

Windows下搭建TensorFlow环境4(CPU版本)

将最新生成的库文件拷贝到编译提示的路径下:

编译后生成的.lib文件如下(在x64文件夹下):

Windows下搭建TensorFlow环境4(CPU版本)


将此文件拷贝到代码提示的路径下(gif\install\lib\giflib.lib)并替换:

Windows下搭建TensorFlow环境4(CPU版本)


解决png\install\lib\libpng12_static.lib

选择Release模式,配置X64平台:

Windows下搭建TensorFlow环境4(CPU版本)

Windows下搭建TensorFlow环境4(CPU版本)

在对话框内选择X64,点确定:

Windows下搭建TensorFlow环境4(CPU版本)

Windows下搭建TensorFlow环境4(CPU版本)

在libpng12_static工程上,点右键—属性—C/C++—Code Generation—Runtime Library—将MD修改为MT;

Windows下搭建TensorFlow环境4(CPU版本)

将Librarian——All Options——Additional Options:X86修改为X64:

Windows下搭建TensorFlow环境4(CPU版本)

Release下,编译png12_stitic工程

Windows下搭建TensorFlow环境4(CPU版本)

复制X64文件下生成的.lib文件:

Windows下搭建TensorFlow环境4(CPU版本)


将其粘贴到编译提示的库文件路径下:

Windows下搭建TensorFlow环境4(CPU版本)

按照上面的步骤,修改剩下的几个工程配置属性,并将生成的最新库文件放到所需路径下

最后,再编译proto_text工程,确保编译0错误:

Windows下搭建TensorFlow环境4(CPU版本)