hearthstone-ai icon indicating copy to clipboard operation
hearthstone-ai copied to clipboard

Compilation with VS 2017 community (Windows)?

Open CoderCoderCoder opened this issue 7 years ago • 9 comments

Hello, first of all huge thanks for your great work, which you shared publicly. Being a big fan of HS and AI, I would like to run more experiments on the basis of your sources. But currently I am facing some problems - the code just doesn't get compiled (first there were some #include-problems, but now I am facing an issue that tiny-dnn just doesn't want to get compiled with C++ 17 as it's aimed on compilation with C++ 14, lots of errors in .hpp files. Any hints on how this could be solved? Many thanks again!!

CoderCoderCoder avatar Apr 23 '18 17:04 CoderCoderCoder

What's your compiler version? I tried this on latest Visual Studio and g++ several months ago, with C++17 enabled.

peter1591 avatar Apr 24 '18 03:04 peter1591

I am just using the latest Visual Studio 2017 with C++17 enabled and the latest Windows devkit. No g++ at all , do I need it for tiny_dnn? So far I just cloned tiny_dnn repository and added all required paths for includes.

CoderCoderCoder avatar Apr 24 '18 16:04 CoderCoderCoder

I met the same problem. Which release of g++ did you use @peter1591 ? MinGW or Cygwin? And which version number?

hengruo avatar Apr 28 '18 04:04 hengruo

I had some issues that I luckily could work out. Set compiler to C++ 17 Add '_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS;' to the Preprocessor Definitions (Project Properties -> C/C++ -> Preprocessor). Pull the tiny-dnn repository and copy tiny_dnn to third_party. Do the same with cereal and add it to the VC++ Directories -> Include Directories for GameEngineCPPWrapper Add /bigobj to C/C++ -> Comand line -> Additional options (but I think you can skip this, I think I added it because of some error I could resolve otherwise)

Add ui\include to Includes for GameEngineCppCLI Apply fix mentioned here

I think that's everything I needed to do to get it to compile. However, note that no neural network is included in the repo, so you will have to compile and train that as described in the readme.

FrederikHusche avatar Jun 11 '18 08:06 FrederikHusche

/bigobj may be required depending on what version of the MSVC compiler you are using, but as of an update a few weeks ago it is no longer necessary

it comes about due to tiny-dinn generating some obscenely large files during linking, is all

fuchstraumer avatar Jun 11 '18 22:06 fuchstraumer

@FrederikHusche hi there I follow your instrument and it really help me a lot. But still a problem bother me. I get the error now,

error C2338 tuple index out of bounds GameEngineCppWrapper c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\utility 542

I already add the /bigobj into the commandline but seems not work. Do you have any idea about this?

OriLiMu avatar Dec 31 '18 13:12 OriLiMu

@woshichuanqilz same situation, did you managed to solve it?

lovcavil avatar Sep 05 '19 18:09 lovcavil

@woshichuanqilz @lovcavil same situation,any idea?

Yang-HangWA avatar Oct 22 '19 11:10 Yang-HangWA

I may be late for you, but for the missing modules, I think you can simply update git submodules Like so : git submodule update --init --recursive

tsepton avatar Feb 04 '21 15:02 tsepton