Tensorflow 1.2.0 win10 c++ 程序配置

从上一篇的Tensorflow win10 c++ 运行 python训练出的模型,按照Tensorflow官网给出的cmake构建和编译方案,我们实际编译了tensorflow的c++库,能够运行官方的example。那么新建一个单独的工程需要进行一定的配置。

源代码使用官方的源码main.cc

这份代码包含了读取模型,读取图片数据,进行模型预测等,足够满足简单的tensorflow功能需求。
注意的是,需要在代码头部加上

#define COMPILER_MSVC
#define NOMINMAX

原因如这篇博客所述

If you omit the COMPILER_MSVC definition, you will run into an error saying “You must define TF_LIB_GTL_ALIGNED_CHAR_ARRAY for your compiler.” If you omit the NOMINMAX definition, you will run into a number of errors saying “’(‘: illegal token on right side of ‘::’”. (The reason for this is that <Windows.h> gets included somewhere, and Windows has macros that redefine min and max. These macros are disabled with NOMINMAX.)

工程属性设置

接下来配置文件,首先本文同步的tensorflow源代码位置为D:\Projects\tensorflow。

附加包含路径

设置对应如下的包含路径,可以通过直接编辑官方例子tf_label_image_example.vcxproj到自己的工程文件

D:\Projects\tensorflow
D:\Projects\tensorflow\tensorflow\contrib\cmake\build
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\zlib_archive
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\gif_archive\giflib-5.1.4
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\png_archive
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\jpeg_archive
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\eigen_archive
D:\Projects\tensorflow\third_party\eigen3
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\gemmlowp\src\gemmlowp
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\jsoncpp\src\jsoncpp
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\farmhash_archive
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\farmhash_archive\util
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\external\highwayhash
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\protobuf\src\protobuf\src
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\grpc\src\grpc\include
链接设置

按照tf_label_image_example.vcxproj添加依赖项目,按照博客添加额外依赖路径

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib
Release\tf_protos_cc.lib
zlib\install\lib\zlibstatic.lib
gif\install\lib\giflib.lib
png\install\lib\libpng12_static.lib
jpeg\install\lib\libjpeg.lib
jsoncpp\src\jsoncpp\src\lib_json\$(Configuration)\jsoncpp.lib
farmhash\install\lib\farmhash.lib
fft2d\\src\lib\fft2d.lib
highwayhash\install\lib\highwayhash.lib
protobuf\src\protobuf\$(Configuration)\libprotobuf.lib
grpc\src\grpc\$(Configuration)\grpc++_unsecure.lib
grpc\src\grpc\$(Configuration)\grpc_unsecure.lib
grpc\src\grpc\$(Configuration)\gpr.lib
wsock32.lib
ws2_32.lib
shlwapi.lib
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\protobuf\src\protobuf\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_cc.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_cc_ops.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_cc_framework.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_cpu.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_direct_session.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_framework.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_kernels.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_lib.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_ops.dir\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build\Release
D:\Projects\tensorflow\tensorflow\contrib\cmake\build

添加预编译好的obj文件,在tf_label_image_example.vcxproj文件中找到
<Object Include="D:\Projects\tensorflow\tensorflow\contrib\cmake\build\tf_core_lib.dir\$(Configuration)\arena.obj" />
开头的一长串语句,复制到我们工程目录中vcxproj的相应位置。

至此,程序就可以编译调试了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,841评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,415评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,904评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,051评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,055评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,255评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,729评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,377评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,517评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,420评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,467评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,144评论 3 317
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,735评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,812评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,029评论 1 256
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,528评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,126评论 2 341

推荐阅读更多精彩内容

  • 简介 由于生产环境使用windows、C++,而tensorflow模型训练使用python更为方便,因此存在需求...
    菜鸟游侠k2阅读 6,015评论 0 2
  • 这是一个新项目开始的基本框架搭建(详见我后面的github地址) 下面说一下原则: 1.初始化项目 本项目主要是创...
    小白哥有话说阅读 569评论 0 2
  • 当他又坐在桌子前,这是一个刷着红色漆的方木桌,时钟的表针又指在了12:00的方向。夜里12:00,每到这时床头边的...
    草小孟阅读 217评论 1 0
  •   也许你早已经看过,但我仍执意要推荐一次。    为什么呢?因为有的电影只是为了娱乐大众,然后圈钱走人;而有的电...
    沫比阅读 250评论 0 0
  • 记得在我很小的时候,老汉就已经在拾荒了。年近花甲的他,留着拉长的大胡须,头上顶着稀稀拉拉的头发丝,似乎快掉光了。别...
    桐湘雨_阅读 533评论 0 1