- Visual Studio 2010
- Optional: Windows SDK 7.1a x86 (download, 500mb iso)
PPK’s official PtokaX builds are compiled with the 7.1 SDK. The Windows SDKs are intermittent updates to the headers, libraries and compilers shipped with Visual Studio - PtokaX doesn’t use any cutting-edge windows features, so unless you already have the SDK for other reasons, it is more convenient to swap out the Platform Toolset in the PtokaX project (Configuration Properties > General) and set it instead to v100 (the VS2010 compiler).
PtokaX is licensed to you (yes, you!) under the GPL - that means, legally, if you distribute your PtokaX.exe to someone, they have to have access to the source code. That of course doesn’t need to extend to all your hub users.
- Download http://downloads.sourceforge.net/project/tinyxml/tinyxml/2.5.3/tinyxml_2_5_3.tar.gz
- Unpack and open solution, VS2010 successfully converts it from an older version
- Change the configuration to Release, and Build All.
- Verify that
tinyxml/Release/tinyxml.libexists with size ~300kb
- Download http://www.czdc.org/PtokaX/PXLua-5.2.1-0.4.2.0b391-src.7z or if that’s out of date, look around http://board.ptokax.ch/index.php?board=38.0
PPK has made some patches to lua himself, this could have been a nightmare to build but he thankfully provides his sources with VS2010 projects along with prebuilt libs.
The pre-built library is dynamic, so linking against the .lib means your generated .exe will rely on PXLua.dll. If this is unacceptable for any reason, you could alternatively include all the lua source files within the PtokaX project and build them alongside the main source code.
- Author provides a VS2010 project http://www.winimage.com/zLibDll/zlib125.zip
- Unpack, solution is in
- Change the configuration to
ReleaseWithoutAsm, and Build All.
- Verify that
zlib-1.2/contrib/vc10/x86/ZlibStatReleaseWithoutAsm/zlibstat.libexists with size ~600kb
It’s also possible to build zlib in release mode with assembly optimisations if you set up MASM and follow the instructions. “Stat” means statically-linked - the alternative is having your compiled PtokaX EXE rely on a zlib.dll. In this case it’s not much of a big deal.
Get PtokaX source code from svn://svn.CzDC.org/PtokaX
Not used to svn? A mirror of r84 is here temporarily: (…)
The project comes with three configurations defined: Debug, Release and Testing. Debug is broken in some interesting ways - not least of all some errors preventing build, so PPK obviously doesn’t use that much. Ordinarily we would get debug builds working first, but in light of this, let’s aim straight for the Release build.
- Change the configuration to Release
- Open Ptokax-gui project properties
- Configuration Properties > General > VC++ Directories
- For Include Directories: add the path to
zlib.h), add the path to
tinyxml.h), add the path to
- For Library Directories: add the path to
zlibstat.lib), add the path to
tinyxml.lib), add the path to PXLua (containing PXLua.lib)
- Configuration Properties > Linker > Input > Additional Dependencies
- Configuration Properties > C / C++ > Preprocessor > Preprocessor Definitions
ZLIB_WINAPI; to definitions (reason)
- Build All
- PtokaX.exe and PtokaX.pdb are generated in
To use: Copy
/pxlua to the same directory as PtokaX.exe.
A .pdb file contains only debugging information, you can discard it to save space. But it might be helpful if you plan on making any changes to PtokaX, especially since we’ve built everything in release mode (so the .exe itself doesn’t contain any debugging information)