Visual Studio 2010 Compiling - LemontechSA/TideSDK GitHub Wiki

The following changes were made to make decent progress on compiling Tide with VS2010 on a x64 machine (I have modified hte instructions to be targeted for VS2010 Express, if you want a VS2010 standard install, change 10.0Exp to 10.0 and fix the paths to point to the normal install)

Scons Changes:

File: python27\Lib\site-packages\scons-2.1.0-py2.7-win32.egg\scons-2.1.0\SCons\Tools\MSCommon\vc.py

  • Line 306 and 307 - Change everything after the equals to: '10.0Exp'
    msvc_version = '10.0Exp'
    msvs_version = '10.0Exp'

TideSDK Changes

File: TideSDK\kroll\site_scons\kroll.py

  • Line 49: Change the MSVC_VERSION to 10 to avoid warnings.
  • Line 57: Change the path to something like this: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A
  • Line 58: Change the path to something like this: C:\Program Files (x86)\Microsoft Visual Studio 10.0
  • (Note: If you are on a 32-bit Windows, do not include the (x86) in the path)
		add_environ_arg('MSPSDK', 'Path of the Microsoft Platform SDK', 'C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A')
		add_environ_arg('MSVS', 'Path of Microsoft Visual Studio', 'C:\\Program Files (x86)\\Microsoft Visual Studio 10.0')

File: TideSDK\installer\win32\titanium_actions.cpp

  • Line 21: Remove the =_NetInstall@4 from the line.
  • Line 22: Remove the =_Clean@4 from the line.
#pragma comment(linker, "/EXPORT:NetInstall")
#pragma comment(linker, "/EXPORT:Clean")

On Windows XP I deleted completely those lines (blackorzar).

Replace Poco with updated Poco

http://www.filefactory.com/file/4g8iayocdd77/n/poco_zip

And replace everything under kroll\thirdparty-win32-i386-r43\poco

Remove all MD2 parts from ti.Codec

Under /modules/ti.Codec/Codec.cpp do a find and remove everything for MD2 (there should be a file include, a case statement, a if statement, and a function I believe, make sure MD2 is not found anywhere).

Make sure Python version is consistent

If you are using anything but python 2.5 you need to make sure the following two files are updated to python27

  • kroll/modules/python/SConscript
  • kroll/site_scons/kroll.py You should copy the python27 folder and replace: kroll\thirdparty-win32-i386-r43\python Please remove the Scons related files and Scripts folder (or use a clean python27)

Current Error 64 bit

  • Some portion of the compile is compiling 64bit modules, and then trying to link them to a 32bit target
link /nologo /DEBUG /PDB:build\win32\sdk\kboot.exe.pdb /NODEFAULTLIB:MSJAVA.lib
/MANIFEST /MANIFESTFILE:D:\Akrima\Development\Projects\TideSDK\build\win32\boot.
exe.intermediate.manifest /OPT:REF /OPT:ICF /LTCG /MACHINE:X86 /SUBSYSTEM:CONSOL
E /OUT:build\win32\sdk\kboot.exe "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs
\Windows\v7.0A\lib\x64" /LIBPATH:build\win32 kernel32.lib shell32.lib user32.lib
 advapi32.lib iphlpapi.lib gdi32.lib build\win32\objs\boot\boot.obj build\win32\
objs\boot\utils\application.obj build\win32\objs\boot\utils\boot_utils.obj build
\win32\objs\boot\utils\data_utils.obj build\win32\objs\boot\utils\environment_ut
ils.obj build\win32\objs\boot\utils\file_utils.obj build\win32\objs\boot\utils\p
latform_utils.obj build\win32\objs\boot\utils\url_utils.obj build\win32\objs\boo
t\utils\poco\KDigestEngine.obj build\win32\objs\boot\utils\poco\KMD5Engine.obj b
uild\win32\objs\boot\utils\win32\boot_utils_win32.obj build\win32\objs\boot\util
s\win32\data_utils_win32.obj build\win32\objs\boot\utils\win32\file_utils_win32.
obj build\win32\objs\boot\utils\win32\platform_utils_win32.obj build\win32\objs\
boot\utils\win32\win32_utils.obj build\win32\objs\boot\boot_win32.obj build\win3
2\objs\boot\popup_dialog_win32.obj build\win32\objs\boot\support\winboot.res
build\win32\objs\boot\boot.obj : fatal error LNK1112: module machine type 'x64'
conflicts with target machine type 'X86'
scons: *** [build\win32\sdk\kboot.exe] Error 1112
scons: building terminated because of errors.

I got many of these errors along the compile, they could be the reason for the error. I don't know if its SCons creating this problem, or TideSDK's configuration:

cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release

Current 32 bit issue

Currently when Drillbit is started or SDK Installer there is an error with a missing MSVCR80.DLL (which comes as part of VC Redistributes 2005 and .Net Framework 3.5) so if you can get that working it may work. This was on a Windows 8 machine.