Final tweaks to MSVC build (#1139)
* Quote paths in msvc postbuildevent scripts * Update MSVC readme with some new advice
This commit is contained in:

committed by
Nguyen Anh Quynh

parent
626d72d6df
commit
4fd2f8c524
@ -5,15 +5,33 @@ Zak Escano - January 2017
|
|||||||
These notes are to help myself and others with the upkeep of the msvc native port
|
These notes are to help myself and others with the upkeep of the msvc native port
|
||||||
of unicorn-engine.
|
of unicorn-engine.
|
||||||
|
|
||||||
|
|
||||||
|
:: Command line build instructions
|
||||||
|
|
||||||
|
msbuild -m -p:Configuration=Release -p:Platform=Win32
|
||||||
|
msbuild -m -p:Configuration=Release -p:Platform=x64
|
||||||
|
|
||||||
|
Then bundle and release the folder "distro".
|
||||||
|
|
||||||
|
|
||||||
:: Build settings
|
:: Build settings
|
||||||
|
|
||||||
Visual Studio Version: Visual Studio 2012 v11.061219.00 Update 5
|
Visual Studio Version: Visual Studio 2017 v15.9.15
|
||||||
Platform Toolset: Visual Studio 2012 - Windows XP (v110_xp)
|
Platform Toolset: Default. Known to work with the 8.1 SDK
|
||||||
Character Set: Use Multi-Byte Character Set
|
Character Set: Use Multi-Byte Character Set
|
||||||
Runtime Library Debug: Multi-threaded Debug (/MTd)
|
Runtime Library Debug: Multi-threaded Debug (/MTd)
|
||||||
Runtime Library Release: Multi-threaded (/MT)
|
Runtime Library Release: Multi-threaded (/MT)
|
||||||
Precompiled Header: Not Using Precompiled Headers
|
Precompiled Header: Not Using Precompiled Headers
|
||||||
Additional Options: /wd4018 /wd4244 /wd4267
|
Additional Options: /wd4018 /wd4244 /wd4267
|
||||||
|
|
||||||
|
|
||||||
|
:: Build advice
|
||||||
|
|
||||||
|
- If you see warnings about spectre-mitigated libraries and then some strange
|
||||||
|
errors, the errors may be related to the spectre libraries. Install them.
|
||||||
|
(via the visual studio installation manager)
|
||||||
|
- The "platform default" target SDK may not actually be installed for you. Try
|
||||||
|
installing the Windows 8.1 SDK via the visual studio installation manager.
|
||||||
|
|
||||||
|
|
||||||
:: Changes porting unicorn from GNU/GCC to MSVC.
|
:: Changes porting unicorn from GNU/GCC to MSVC.
|
||||||
|
@ -145,15 +145,15 @@
|
|||||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>mkdir $(SolutionDir)distro\
|
<Command>mkdir "$(SolutionDir)distro\"
|
||||||
mkdir $(SolutionDir)distro\include
|
mkdir "$(SolutionDir)distro\include"
|
||||||
mkdir $(SolutionDir)distro\include\unicorn
|
mkdir "$(SolutionDir)distro\include\unicorn"
|
||||||
mkdir $(SolutionDir)distro\$(Platform)
|
mkdir "$(SolutionDir)distro\$(Platform)"
|
||||||
|
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll" "$(SolutionDir)distro\$(Platform)\"
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib" "$(SolutionDir)distro\$(Platform)\"
|
||||||
|
|
||||||
copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
copy "$(SolutionDir)..\include\unicorn\*.h" "$(SolutionDir)distro\include\unicorn\"
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@ -180,15 +180,15 @@ copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
|||||||
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration)\</AdditionalLibraryDirectories>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>mkdir $(SolutionDir)distro\
|
<Command>mkdir "$(SolutionDir)distro\"
|
||||||
mkdir $(SolutionDir)distro\include
|
mkdir "$(SolutionDir)distro\include"
|
||||||
mkdir $(SolutionDir)distro\include\unicorn
|
mkdir "$(SolutionDir)distro\include\unicorn"
|
||||||
mkdir $(SolutionDir)distro\$(Platform)
|
mkdir "$(SolutionDir)distro\$(Platform)"
|
||||||
|
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).dll" "$(SolutionDir)distro\$(Platform)\"
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib" "$(SolutionDir)distro\$(Platform)\"
|
||||||
|
|
||||||
copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
copy "$(SolutionDir)..\include\unicorn\*.h" "$(SolutionDir)distro\include\unicorn\"
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@ -360,4 +360,4 @@ copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
|||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -310,14 +310,14 @@
|
|||||||
<Command>..\prebuild_script.bat</Command>
|
<Command>..\prebuild_script.bat</Command>
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>mkdir $(SolutionDir)distro\
|
<Command>mkdir "$(SolutionDir)distro\"
|
||||||
mkdir $(SolutionDir)distro\include
|
mkdir "$(SolutionDir)distro\include"
|
||||||
mkdir $(SolutionDir)distro\include\unicorn
|
mkdir "$(SolutionDir)distro\include\unicorn"
|
||||||
mkdir $(SolutionDir)distro\$(Platform)
|
mkdir "$(SolutionDir)distro\$(Platform)"
|
||||||
|
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib" "$(SolutionDir)distro\$(Platform)\"
|
||||||
|
|
||||||
copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
copy "$(SolutionDir)..\include\unicorn\*.h" "$(SolutionDir)distro\include\unicorn\"
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
@ -350,18 +350,18 @@ copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
|||||||
<Command>..\prebuild_script.bat</Command>
|
<Command>..\prebuild_script.bat</Command>
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>mkdir $(SolutionDir)distro\
|
<Command>mkdir "$(SolutionDir)distro\"
|
||||||
mkdir $(SolutionDir)distro\include
|
mkdir "$(SolutionDir)distro\include"
|
||||||
mkdir $(SolutionDir)distro\include\unicorn
|
mkdir "$(SolutionDir)distro\include\unicorn"
|
||||||
mkdir $(SolutionDir)distro\$(Platform)
|
mkdir "$(SolutionDir)distro\$(Platform)"
|
||||||
|
|
||||||
copy $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib $(SolutionDir)distro\$(Platform)\
|
copy "$(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName).lib" "$(SolutionDir)distro\$(Platform)\"
|
||||||
|
|
||||||
copy $(SolutionDir)..\include\unicorn\*.h $(SolutionDir)distro\include\unicorn\
|
copy "$(SolutionDir)..\include\unicorn\*.h" "$(SolutionDir)distro\include\unicorn\"
|
||||||
</Command>
|
</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
Reference in New Issue
Block a user