3.1 KiB
MacroLibX, a rewrite of 42 School's MiniLibX using SDL2 and Vulkan.
The goal of this version is to provide a light, fast, and modern graphical tool while keeping the same API.
🖥️ Installation
Dependencies
You first need to install the proper dependencies for your operating-system.
🐧 Linux
Here are a few common cases for different Linux distributions:
For Ubuntu/Debian-based distros:
sudo apt update
sudo apt install libsdl2-2.0-0 libsdl2-dev build-essential
For ArchLinux-based distros:
sudo pacman -S sdl2
🍎 macOS
MacroLibX on macOS requires SDL2 and MoltenVK. You can install both using the Homebrew package manager:
brew install molten-vk
brew install SDL2
🪟 Windows
To build on Windows you may need to use the xmake build. Here's how you can use it.
Clone and Build
Finally, you can clone the Git repository. When inside it, run the GNU make command to compile MacroLibX.
git clone https://github.com/420verfl0w/MacroLibX.git
cd MacroLibX
make
If you want to build using GCC you can add TOOLCHAIN=gcc to your make command
make TOOLCHAIN=gcc
🔨 Compile your project
To compile your project with MacroLibX, you just provide the shared library path in your compilation/linking command:
clang myApp.c /path/to/MacroLibX/libmlx.so -lSDL2
And you can enjoy your project
⚠️ Troubleshooting
If you run into glitches when writing or reading pixels from images
You need to add IMAGES_OPTIMIZED=false to your make command:
# In your cloned environment, inside the MacroLibX folder
make IMAGES_OPTIMIZED=false
License
This project and all its files, except the third_party directory or unless otherwise mentionned, are licenced under the MIT license.

