Files
MacroLibX/README.md

3.1 KiB

drawing
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

drawing

⚠️ 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.