alreadydone / lz

Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper.
GNU General Public License v3.0
28 stars 8 forks source link

can't compile komi +next commit 6ba71da on VS2017 #46

Closed jun63cn closed 6 years ago

jun63cn commented 6 years ago

1>------ 已启动生成: 项目: leela-zero, 配置: Release x64 ------ 1>FastBoard.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\fastboard.cpp(33): warning C5041: NBR_SHIFT: 不需要对 constexpr 静态数据成员进行外部定义,且在 C + + 17 中弃用了该类定义 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\fastboard.cpp(34): warning C5041: MAXSQ: 不需要对 constexpr 静态数据成员进行外部定义,且在 C + + 17 中弃用了该类定义 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\fastboard.cpp(35): warning C5041: NO_VERTEX: 不需要对 constexpr 静态数据成员进行外部定义,且在 C + + 17 中弃用了该类定义 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\fastboard.cpp(36): warning C5041: PASS: 不需要对 constexpr 静态数据成员进行外部定义,且在 C + + 17 中弃用了该类定义 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\fastboard.cpp(37): warning C5041: RESIGN: 不需要对 constexpr 静态数据成员进行外部定义,且在 C + + 17 中弃用了该类定义 1>FastState.cpp 1>FullBoard.cpp 1>GameState.cpp 1>GTP.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\gtp.cpp(673): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\gtp.cpp(685): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\xmemory0(881): warning C4244: “初始化”: 从“double”转换到“_Objty”,可能丢失数据 1> with 1> [ 1> _Objty=float 1> ] 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\vector(900): note: 参见对正在编译的函数 模板 实例化“void std::_Default_allocator_traits<_Alloc>::construct<_Ty,double&>(_Alloc &,_Objty const ,double &)”的引用 1> with 1> [ 1> _Alloc=std::allocator, 1> _Ty=float, 1> _Objty=float 1> ] 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\vector(902): note: 参见对正在编译的函数 模板 实例化“void std::_Default_allocator_traits<_Alloc>::construct<_Ty,double&>(_Alloc &,_Objty const ,double &)”的引用 1> with 1> [ 1> _Alloc=std::allocator, 1> _Ty=float, 1> _Objty=float 1> ] 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\vector(916): note: 参见对正在编译的函数 模板 实例化“_Ty &std::vector<_Ty,std::allocator<_Ty>>::_Emplace_back_with_unused_capacity<double&>(double &)”的引用 1> with 1> [ 1> _Ty=float 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\gtp.cpp(689): note: 参见对正在编译的函数 模板 实例化“_Ty &std::vector<_Ty,std::allocator<_Ty>>::emplace_back<double&>(double &)”的引用 1> with 1> [ 1> _Ty=float 1> ] 1>KoState.cpp 1>Leela.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(190): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(191): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(192): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(204): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(205): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(206): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(237): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(244): warning C4305: “=”: 从“double”到“float”截断 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\leela.cpp(264): warning C4244: “=”: 从“const T”转换到“int”,可能丢失数据 1> with 1> [ 1> T=float 1> ] 1>Network.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\msvc\packages\boost.1.68.0.0\lib\native\include\boost\spirit\home\x3\support\subcontext.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\msvc\packages\boost.1.68.0.0\lib\native\include\boost\spirit\home\support\char_encoding\iso8859_1.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(217): warning C4244: “=”: 从“__int64”转换到“int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(373): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(380): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(407): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(423): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(428): warning C4267: “参数”: 从“size_t”转换到“unsigned int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(435): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(438): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(445): warning C4267: “参数”: 从“size_t”转换到“unsigned int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(450): warning C4267: “参数”: 从“size_t”转换到“unsigned int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(451): warning C4267: “参数”: 从“size_t”转换到“unsigned int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(653): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(654): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(779): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(791): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(800): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(1035): warning C4244: “=”: 从“_Ty”转换到“int”,可能丢失数据 1> with 1> [ 1> _Ty=float 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(1045): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(1121): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(674): warning C4267: “参数”: 从“size_t”转换到“const int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(806): note: 参见对正在编译的函数 模板 实例化“void convolve<1>(const size_t,const std::vector<float,std::allocator<_Ty>> &,const std::vector<_Ty,std::allocator<_Ty>> &,const std::vector<_Ty,std::allocator<_Ty>> &,std::vector<_Ty,std::allocator<_Ty>> &)”的引用 1> with 1> [ 1> _Ty=float 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\network.cpp(693): warning C4267: “参数”: 从“size_t”转换到“const blasint”,可能丢失数据 1>NNCache.cpp 1>OpenCL.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\opencl.cpp(1016): warning C4244: “+=”: 从“float”转换到“int”,可能丢失数据 1>OpenCLScheduler.cpp 1>Random.cpp 1>SGFParser.cpp 1>SGFTree.cpp 1>SMP.cpp 1>TimeControl.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\timecontrol.cpp(239): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 1>Timing.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\timing.cpp(26): warning C4244: “return”: 从“_Rep”转换到“int”,可能丢失数据 1> with 1> [ 1> _Rep=int64 1> ] 1>Training.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\training.cpp(119): warning C4267: “参数”: 从“size_t”转换到“unsigned int”,可能丢失数据 1>Tuner.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\tuner.cpp(135): warning C4244: “=”: 从“_Ty”转换到“int”,可能丢失数据 1> with 1> [ 1> _Ty=uint64_t 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\tuner.cpp(143): warning C4244: “/=”: 从“_Ty”转换到“int”,可能丢失数据 1> with 1> [ 1> _Ty=uint64_t 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\tuner.cpp(291): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\tuner.cpp(413): warning C4244: “=”: 从“float”转换到“unsigned int”,可能丢失数据 1>UCTNode.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnode.cpp(321): error C2039: “binary_function”: 不是“std”的成员 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\future(1945): note: 参见“std”的声明 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnode.cpp(321): error C2504: “binary_function”: 未定义基类 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnode.cpp(321): error C2143: 语法错误: 缺少“,”(在“<”的前面) 1>正在编译... 1>UCTNodePointer.cpp 1>UCTNodeRoot.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnoderoot.cpp(203): warning C4244: “return”: 从“double”转换到“float”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnoderoot.cpp(208): warning C4244: “return”: 从“double”转换到“float”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnoderoot.cpp(213): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnoderoot.cpp(461): warning C4244: “参数”: 从“double”转换到“const int64”,可能丢失数据 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctnoderoot.cpp(464): warning C4244: “参数”: 从“double”转换到“const unsigned __int64”,可能丢失数据 1>UCTSearch.cpp 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctsearch.cpp(172): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 1>e:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.15.26726\include\numeric(26): warning C4267: “=”: 从“size_t”转换到“_Ty”,可能丢失数据 1> with 1> [ 1> _Ty=int 1> ] 1>d:\downloads\lz-6ba71dae297ec843687b1f364621a26053d7c53a\src\uctsearch.cpp(782): note: 参见对正在编译的函数 模板 实例化“_Ty std::accumulate<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::deque<std::shared_ptr,std::allocator<std::shared_ptr>>>>>,int,UCTSearch::think::>(const _InIt,const _InIt,_Ty,_Fn)”的引用 1> with 1> [ 1> _Ty=int, 1> _InIt=std::_Vector_iterator<std::_Vector_val<std::_Simple_types<std::deque<std::shared_ptr,std::allocator<std::shared_ptr>>>>>, 1> _Fn=UCTSearch::think:: 1> ] 1>Utils.cpp 1>Zobrist.cpp 1>已完成生成项目“leela-zero.vcxproj”的操作 - 失败。 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

Marcin1960 commented 6 years ago

I used Google translator, two errors in one file in one line 321 (warnings you can ignore):

uctnode.cpp(321): error C2039: "binary_function": Not a member of "std"

"uctnode.cpp(321): error C2143: Syntax error: Missing "," (before "<")"

alreadydone commented 6 years ago

C++17 standard supports some parallel algorithm but deprecated binary_function which is used in the original LZ code (and required by Boost). I've since removed the parallelism (via for_each and execution policy). There are also some changes in /next that require more than just resolving conflicts and merging. The komi+next branch now compiles on my machine and I'll run some games to test its performance (with half precision).

jun63cn commented 6 years ago

thanks, OK now.