There are 5 steps required to build Orx using gmake
This step is already covered under cloning orx. Please follow those instructions first.
Orx only works with MinGW-w64. You can download the installer from: https://github.com/Vuniverse0/mingwInstaller/releases/download/1.2.1/mingwInstaller.exe
The current version of MinGW-w64 supported by Orx is 14.2.0.
mingwInstaller.exe
file.
Work through the Wizard with the following options:
C:/MinGW-w64/
is best.If you want to install the compiler for a 32-bit operating system, select the following options (please note this has not been tested):
The version of the compiler you chose above is regarding the toolchain itself, ie. on which OS it's going to run (32bit Windows vs 64bit Windows). Please note all the versions of MinGW-w64 can build both 32bit and 64bit applications.
C:\MinGW-w64\mingw64\bin
(depending where you installed it)
When first cloning Orx, this project should already be created for you at: C:\[somewhere]\orx\code\build\windows\gmake
.
If not, run the setup.bat
script in the root of the Orx repo folder.
The expected output from setup
is:
Building configurations... Running action 'gmake'... Generating windows/gmake/Makefile... Generating windows/gmake/orx.make... Generating windows/gmake/orxLIB.make... Generating windows/gmake/Bounce.make... Done.
Expected output
"==== Building orxLIB (debug) ====" Creating ../../../lib/dynamic Creating obj/Debug/orxLIB orxPlugin_EmbeddedList.cpp orxAnim.c orxAnimPointer.c orxAnimSet.c orxModule.c orxType.c orxClock.c orxCommand.c orxConfig.c orxConsole.c orxEvent.c orxLocale.c orxResource.c orxSystem.c orxThread.c orxDebug.c orxFPS.c orxProfiler.c orxDisplay.c orxFont.c orxGraphic.c orxScreenshot.c orxText.c orxTexture.c orxFile.c orxInput.c orxJoystick.c orxKeyboard.c orxMouse.c orxParam.c orxMath.c orxVector.c orxBank.c orxMemory.c orxFrame.c orxFX.c orxFXPointer.c orxObject.c orxSpawner.c orxStructure.c orxTimeLine.c orxBody.c orxPhysics.c orxPlugin.c orxCamera.c orxRender.c orxShader.c orxShaderPointer.c orxViewport.c orxSound.c orxSoundPointer.c orxSoundSystem.c orxHashTable.c orxLinkList.c orxString.c orxTree.c Linking orxLIB Running post-build commands cmd /c copy /Y ..\..\..\lib\dynamic\orx*.dll ..\..\..\bin ..\..\..\lib\dynamic\orxd.dll 1 file(s) copied. "==== Building orx (debug) ====" Creating obj/Debug/orx orxMain.c Linking orx "==== Building Bounce (debug) ====" Creating ../../../bin/plugins/demo Creating obj/Debug/Bounce orxBounce.c Linking Bounce
If you check in the C:\[somewhere]\orx\code\lib\dynamic folder, you'll see an liborxd.a and orxd.dll
You should build all three configurations, this is the complete 64-bit list:
And the 32-bit list:
Q. You get no errors, but no information either, just output like:
"==== Building orxLIB (debug) ====" "==== Building orx (debug) ====" "==== Building Bounce (debug) ===="
A. Try compiling again with debug messages again to get all possible information:
mingw32-make -d config=debug64
or mingw32-make -d config=debug32
Q. If you cannot compile, and you see something in the messages or logs regarding: C:\Program Files (x86)\Git\bin\sh.exe
A. This is because you have installed Git Bash and it has added C:\Program Files (x86)\Git\bin to your windows path. Therefore git binaries are available to your windows console and are clashing with mingw. Remove the path from your Environment Variables:
C:\Program Files (x86)\Git\bin
Reopen your Windows Console and try compiling again.
Q. You don't get any specific errors in the debug output.
A. Ensure you passed the correct config value. It must be either debug32
, profile32
, release32
, debug64
, profile64
, release64
or not specified. If you typed any other value, you will get empty output like:
"==== Building orxLIB (wrong) ====" "==== Building orx (wrong) ====" "==== Building Bounce (wrong) ===="