使用tensorflow C++ API时, 报错You must define TF_LIB_GTL_ALIGNED_CHAR_ARRAY for your compiler。
原因如下(见参考文献):
If you omit the
COMPILER_MSVC
definition, you will run into an error saying “You must defineTF_LIB_GTL_ALIGNED_CHAR_ARRAY
for your compiler.” If you omit theNOMINMAX
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 redefinemin
andmax
. These macros are disabled withNOMINMAX
.)
解决方案一:
在代码开头加上
#pragma once
#define COMPILER_MSVC
#define NOMINMAX
解决方案二:
以vs2017为例:属性管理器——>C/C++——>预处理器定义
把下面内容粘贴上去
COMPILER_MSVC
NOMINMAX
一劳永逸!
参考文献:https://joe-antognini.github.io/machine-learning/windows-tf-project