Compile issue (MSVC)

Monkey Targets Forums/Desktop/Compile issue (MSVC)

MonoDesire(Posted 2016) [#1]
Running Windows 10. I have Visual Studio 2015 installed.

In my CONFIG.MONKEY file I have this:

#GLFW_USE_MINGW=False
#MSBUILD_PATH="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"


I get this while trying to run blobmonster (found in bananas):

C:\Users\Kalle\Desktop\INFLUENCE\MonkeyXPro86e\bananas\charlie\blobmonster\blobmonster.buildv86e\glfw3\msvc\MonkeyGame.vcxproj(18,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.


In the above path, directory V110 is pointed out, but I have V140 on my system. Where do I change this setting?

I found something about V110 in "C:\Users\Kalle\Desktop\INFLUENCE\MonkeyXPro86e\targets\winrt_win8\template\MonkeyGameNative.vcxproj" under <PlatformToolset>. I tired to change this to V140 but it did not help. I have also seen posts regarding settingVCTargetsPath (environment variable), but it just points out the v4.0 directory, not the V110/V140 sub-directory.

Any hints are welcome! :-)


dawlane(Posted 2016) [#2]
Any hints are welcome! :-)
Try looking in the bin directory ;-)


MonoDesire(Posted 2016) [#3]
@dawlane:

You mean this file: config.winnt.txt

And these lines:

MSBUILD_PATH="${PROGRAMFILES}\MSBuild\14.0\Bin\MSBuild.exe"
MSBUILD_PATH="${PROGRAMFILES}\MSBuild\12.0\Bin\MSBuild.exe"
MSBUILD_PATH="${WINDIR}\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"

I explicitly set MSBUILD_PATH in CONFIG.MONKEY in the glfw3 build directory like this:

#MSBUILD_PATH="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"

Should be enough, or?


dawlane(Posted 2016) [#4]
Setting the MSBUILD path via any of your own files will not work. Only those monkey compiler configs defined in the documentation will work in that way.
Anything that deals with the base compilers and software development kit locations must be defined in the config files in the bin directory.
Adding the line below should work, or failing that use the full path to the MSBUILD you wish to use.
MSBUILD_PATH="${PROGRAMFILES(x86)}\MSBuild\14.0\Bin\MSBuild.exe"


MonoDesire(Posted 2016) [#5]
@dawlane:

It works now, when setting the MSBUILD_PATH in config.winnt.txt.

Thanks a lot! :-)


Pierrou(Posted 2016) [#6]
Hi !
For several versions MonkeyX is using Visual Studio 2015 and since that I just can't compile anything and have to go back to HTML5 for quick test builds or GCC which is very slow.

I installed VS Express 2015 for Windows 10 and set the path in the config.winnt.txt textfile to MSBUILD_PATH="${PROGRAMFILES(x86)}\MSBuild\14.0\Bin\MSBuild.exe"

When compiling the project, I get what comes below. What am I doing wrong? Thanks a lot in advance for your help!
[EDIT : First VS Express 2015 doesn't seem to be the right tool since it builds universal apps or something like that. Installing it took several hours, uninstall is painfully long too... Guess I should try Community Edition?]

G‚n‚ration de la configuration de solution "Release|Win32".
Le projet "C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.sln" (1) g‚nŠre "C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.vcxproj" (2) sur le noud 1 (cibles par d‚faut).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.vcxproj]
G‚n‚ration du projet "C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.vcxproj" termin‚e (cibles par d‚faut) -- CHEC.
G‚n‚ration du projet "C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.sln" termin‚e (cibles par d‚faut) -- CHEC.

CHEC de la build.

"C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.sln" (cible par d‚faut) (1) ->
"C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.vcxproj" (cible par d‚faut) (2) ->
(Desktop_PlatformPrepareForBuild cible) ->
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\Toolset.targets(34,5): error MSB8036: The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution". [C:\Users\Pierre\Documents\Monkey\Tests_Animations\test_affichage.buildv87a\glfw3\msvc\MonkeyGame.vcxproj]

0 Avertissement(s)
1 Erreur(s)

Temps ‚coul‚ 00:00:09.70
TRANS FAILED: Error executing '"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /p:Configuration=Release', return code=1
Abnormal program termination.
Exit code: -1


dawlane(Posted 2016) [#7]
You haven't stated which versions of Monkey you have tried.
VS 2015 introduced a new target platform parameter in the project settings. So it looks like that your install of VS 2015 hasn't installed or got the Windows 8.1 SDK. Your other solution is to open the VS project template to correct the issue and save.


SLotman(Posted 2016) [#8]
" The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution"."
This is your solution - right there in the error description!

Install Windows SDK 8.1, or open the project in the TARGET folder on Visual Studio, and update it with this "retarget solution". Save it.

Then delete your build folder inside your project, rebuild and all should work... I guess.


Pierrou(Posted 2016) [#9]
Thanks a lot for your answers. Now everything looks obvious...

MS Express 2015 wouldn't let me open the project (don't ask why) and indeed the Windows SDK 8.1 was missing. I uninstalled it and installed Visual Studio 2015 Community Edition instead (which took a few hours)... Community Edition works out of the box, if you think of adding MSBUILD_PATH="${PROGRAMFILES(x86)}\MSBuild\14.0\Bin\MSBuild.exe" to the config file, which is what I had probably missed out when I tried VS2015 Community Edition the first time around :$ :$

So now everything is working again, thanks!!

I know there is a compiler option somewhere to build the project faster if it has already been built before but can't find it anymore. Do you know it?
EDIT : #FAST_SYNC_PROJECT_DATA=True ?