A small Windows 2000+ compatible program that converts between temperature units, for cryogenic work and LN2 overclocking.
It also has a CPU stresser/burner feature similar to cpuburner.exe from Furmark.
Also recently added a CPU usage monitoring function.
The app is written in raw Win32 API, using C++.
I wanted it to be an exercise in C++ and Win32, to make a "complete" app with menus, buttons, status bar, an installer, etc.
It is compiled using a custom MinGW toolchain to support Windows 2000/XP, and is written to support these old OSes.
Despite being written for legacy Windows NT, it uses modern C++17. The reason it does not use newer standards is due to bugs
in both MSVC and MinGW in the STL, and indeed the v141_xp toolset in Visual Studio will not even let you target C++20 or higher.
Use the Makefile or build_mingw.sh. It should work on Linux, and with MinGW on Windows.
You can also use my fork of w64devkit, called win32-devkit.
Using this method, you can compile on Linux, or Windows XP+ (using win32-devkit).
make -B all -j# (where # is number of jobs)
Chromium uses a build system with GN and Ninja.
I have made a minimal, modified version configured specifically for compiling Win32 programs
for legacy Windows called gn-legacy.
It can be used on Windows 7+ or Linux. (Unlike the regular MinGW method above, gn.exe does not work on Windows XP/Vista.)
Really, it is a meta-build system. GN stands for "Generate Ninja" and can use BUILD.gn files to
generate .ninja files. These are used by Ninja (the actual build system), to run the commands to compile it.
The compiler itself is dependant on the host platform:
On Linux special MinGW build I compiled on Ubuntu 24.04 to support legacy Windows and use static linkage is used.
On Windows, it simply uses an extracted toolchain from win32-devkit mentioned above.
Only Visual Studio 2017/2019/2022 are supported.
- (Broken right now, need to add configs for osinfo.dll).
Open theCryoCalc.slnfile. You will need the v141_xp toolchain installed to support Windows XP.
