Tip
The implementations of the window in each language might be a bit different. But they should be similar.
Warning
This is tested on Windows 11 and Debian 12. This will not work on MacOS but might on other Linux distros.
Warning
Linux files do not have the .exe
extension. The windows executables do.
- C:
- When the window is closed the program will still be running in the background.
- C++ :
- None known.
- Rust:
- None known.
- Python:
- None known.
- C:
- None known.
- C++ :
- None known.
- Rust:
- None known.
- Python:
- None known.
- All code and executables will be in the langs folder to use.
- This will be implemented in:
Warning
To compile the executables made with Python you will need to install Pyinstaller or Nuitka for compiling the Python files.
Warning
To compile the Windows Rust version you will need to do the following steps:
- Install Rust from the website
- Install the nightly version of rust with the command
rustup install nightly
- Set nightly as the default toolchain with
rustup default nightly
- Run the compile command:
cargo build
orcargo run
- C:
gcc main.c -o main.exe -mwindows
- C++ :
g++ -DUNICODE -D_UNICODE main.cpp -o main.exe -mwindows
- Rust:
cargo run
orcargo build
- Python:
pyinstaller --onefile --windowed main.py
ornuitka --onefile --windows-console-mode=disable --enable-plugin=tk-inter main.py
Warning
To compile the Rust version for Linux you will need to do a few extra steps below:
- Install Rust with the curl command
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Install the nightly version of Rust with the command
rustup install nightly
- Set nightly as the default toolchain with
rustup default nightly
- Update the package list with
sudo apt update
- Install dependencies with
sudo apt install cmake libglfw3-dev libglew-dev libglm-dev libxinerama-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxi-dev
- Run the compile command:
cargo build
orcargo run
Warning
To compile the C++ version for Linux you will need to do a few extra steps below:
- Update the package manager list (apt):
sudo apt update
- Install needed packages: sudo apt install libx11-dev xorg x11-apps libwayland-dev
- Run the compile command:
g++ main.cpp -o main -lX11 -lwayland-client
- C:
gcc main.c -o main -lX11
- C++ :
g++ main.cpp -o main -lX11 -lwayland-client
- Rust:
cargo run
orcargo build
- Python:
pyinstaller --onefile --windowed main.py
ornuitka --onefile --windows-console-mode=disable --enable-plugin=tk-inter main.py
- All implementations will not be tested on MacOS or any other version of Linux apart from Debian.
- I will not test if it works. But if it does please tell me through an issue.