VS 2015 compilation

I had exactly the same… nevertheless I redid the whole thing from scratch…

From a fresh repository I had to:

move VCMI…/libs/. into VCMI…/libs/x86/.
In VCMILauncher I had to go to .prj and replace all QT paths
In VCAI I had to create a new macro called FUZZYLITE with value …/FuzzyLite/FuzzyLite
ERM project is not compiling -> out of build configuration (I just dont care about it)

And finally it builds!!!

Thanks for the help.

Is Editor not supposed to be built? Why is it not marked for building in configuration?

minizip outputs to VCMI/lib through some magic :). OtputDir for the minizip project is set to VCMIout=solutionDir !?

It is not, as it doesn’t really work yet. All editor stuff we got so far were compiled by AVS himself.

editor attempt inside main repo has been abandoned. My has own repo.

Just curious… What does RD stand for in RD Configuration

Release with debug info

Is debug configuration usable? For VCMI_lib I get linkage errors because of unresolved external symbol GameConstants::GIT_SHA1

RD configuration is ok because VCMI_NO_EXTRA_VERSION is defined so GIT_SHA1 is not used

namespace GameConstants
{
#ifdef VCMI_NO_EXTRA_VERSION
	const std::string VCMI_VERSION = std::string("VCMI 0.99");
#else
	const std::string VCMI_VERSION = std::string("VCMI 0.99 ") + GIT_SHA1;
#endif
}

I guess my question is: why for the whole solution in the Debug configuration, the individual project configuration is RD?

In Visual Studio VCMI_NO_EXTRA_VERSION should always be defined.

So if that one is not defined in debug configuration, does that mean that the debug configuration is not up to date? Should only RD be used?

To me RD looks like it has everything set up for debugging mode for some modules. EG minizip has everything set up for degug, battleAI not so much.

That’s possible, I probably didn’t use Debug config for months. No one else did, either :unamused:

After first successful run of Launcher, I downloaded the VCMI mod.

Some files were created in c:\Users\krs\Documents\My Games\vcmi. Which I deleted…

Now LoadResources expects to find the config/filesystem.json file in that path and does not take the ones in …/config folder.

Where is this path saved on Windows?
How do I reset this back to …/config folder?

Would you like to add these changes to your pull request github.com/vcmi/vcmi/pull/268 ?

config\filesystem.json is a part of VCMI package, not in MyDocuments.

Seems that RD has all debug information inside. So I see no need right now to maintain another configuration. I asked only because I did not knew what to use.

So no I will not add it to the pull request.

The wrong path, came from wrong working directory configured for Launcher. It was $(Project) and should have been $(Solution). I do not completely understand how this dependency is used so I keep a local fix only for myself in VCMI_launcher.vcxproj.user

I have changed my mind and I have updated the Debug configuration. With support for Debug and Continue.

I have added the changes to this pull request

(I hope I did it right with git, I have some unclear things in another thread)

I found that different projects have different settings for character set: some use **Unicode **some Use Multi-Byte Character Set

Is this mix ok? Shouldn’t every project use the same?

I found some time to finally complete this. It seems that tutorial will help some people: VCMI VS 2015 build tutorial
This tutorial does not contain all information from previous one, but helps to replace outdated information, and adds some more information about VCMI solution itself.

Please mention Tortoise git, for those coming from Tortoise SVN and for git first timers, its more easy than SourceTree.

You can use “outdated” tutorial for tortoise git I guess… I did not use tortoise git so i have no experience with that tool, though I heard some bad opinions about that one. Sourcetree is very popular on windows. Anyway, I use Sourcetree only for “overview” and to view changes. I operate on git command line to perform most actions and I am git first timer :P.

Should bump this topic since VCMI now support building with MSVC using CMake: