Complining the SFall source code.

Mulligun

Still Mildly Glowing
I'd like to compile the SFall source using MS Visual C++ 2019. Have i do any specific set up/configuration to successfully compile the project?
 
TL;DR Follow this script and you should be fine.

- Clone https://github.com/NovaRain/DXSDK_Collection.git to some <directory>
- Copy <directory>\DXSDK_Aug2007\Lib\x86\dinput.lib to <directory>\DXSDK_Jun2010\Lib\x86\
- Set environment variable DXSDK_DIR to "<directory>\DXSDK_Jun2010\" (trailing slash is important)
- In sfall directory (where ddraw.sln is), create empty PostBuild.cmd
- Run VS installer and add "MSVC v140 - VS 2015 C++ build tools (v14.00)" if you don't have it already
- Find MSBuild.exe and run:
Code:
MSBuild.exe path\to\ddraw.sln -p:Configuration=ReleaseXP -p:Platform=Win32 -p:PlatformToolset=v140_xp

None of steps above or MSBuild switches are optional; if you omit any, your ddraw.dll might behave differently from official one, and will be considered invalid by sfall maintainers; when/if you encounters any weird behavior/bugs and report them, you'll be asked to fix your build first.

Only exception to that is PostBuild.cmd; you can put w/e you want there (for example modified PostBuild.cmd.template), but it must exists or post-build action will report error.
 
Last edited:
TL;DR Follow this script and you should be fine.

- Clone https://github.com/NovaRain/DXSDK_Collection.git to some <directory>
- Copy <directory>\DXSDK_Aug2007\Lib\x86\dinput.lib to <directory>\DXSDK_Jun2010\Lib\x86\
- Set environment variable DXSDK_DIR to "<directory>\DXSDK_Jun2010\" (trailing slash is important)
- In sfall directory (where ddraw.sln is), create empty PostBuild.cmd
- Run VS installer and add "MSVC v140 - VS 2015 C++ build tools (v14.00)" if you don't have it already
- Find MSBuild.exe and run:
Code:
MSBuild.exe path\to\ddraw.sln -p:Configuration=ReleaseXP -p:Platform=Win32 -p:PlatformToolset=v140_xp

None of steps above or MSBuild switches are optional; if you omit any, your ddraw.dll might behave differently from official one, and will be considered invalid by sfall maintainers; when/if you encounters any weird behavior/bugs and report them, you'll be asked to fix your build first.

Only exception to that is PostBuild.cmd; you can put w/e you want there (for example modified PostBuild.cmd.template), but it must exists or post-build action will report error.
i've followed all the steps Y've described but got:
Code:
"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.sln" (domyślny element docelowy) (1)->
"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj" (domyślny element docelowy) (2)->
(element docelowy CheckWindowsSDK71A) ->
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140_xp\Toolset.targets(36,5)
: warning MSB8003: Could not find WindowsSdkDir_71A variable from the registry.  TargetFrameworkVersion or PlatformTool
set may be set to an invalid version number. [C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj]


"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.sln" (domyślny element docelowy) (1)->
"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj" (domyślny element docelowy) (2)->
(element docelowy PrepareForBuild) ->
  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not
find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid vers
ion number. [C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj]


"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.sln" (domyślny element docelowy) (1)->
"C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj" (domyślny element docelowy) (2)->
(element docelowy ClCompile) ->
  C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\stdafx.h(7): fatal error C1083: Cannot open include file:
'algorithm': No such file or directory [C:\Users\Darek\Downloads\sfall-master_1\sfall-master\sfall\ddraw.vcxproj]
 
I'd like to compile the SFall source using MS Visual C++ 2019 (on Win 10). I've followed this steps as suggested by Samira:
- Clone https://github.com/NovaRain/DXSDK_Collection.git to some <directory>
- Copy <directory>\DXSDK_Aug2007\Lib\x86\dinput.lib to <directory>\DXSDK_Jun2010\Lib\x86\
- Set environment variable DXSDK_DIR to "<directory>\DXSDK_Jun2010\" (trailing slash is important)
- In sfall directory (where ddraw.sln is), create empty PostBuild.cmd
- Run VS installer and add "MSVC v140 - VS 2015 C++ build tools (v14.00)" if you don't have it already
- Find MSBuild.exe and run:

but get:
Code:
1>------ Build started: Project: ddraw, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140_xp\Toolset.targets(36,5): warning MSB8003: Could not find WindowsSdkDir_71A variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>stdafx.cpp
1>Compiling precompiled headers.
1>
1>C:\Users\Darek\Downloads\sfall-master_2\sfall-master\sfall\stdafx.h(7): fatal error C1083: Cannot open include file: 'algorithm': No such file or directory
1>Done building project "ddraw.vcxproj" -- FAILED.

What have I to do to make it compile?
 
There's no need to make another thread for this ... merged ... again.
 
Try adding "C++ Windows XP support for VS 2017 (v141) tools [Deprecated]" in VS installer
 
Back
Top