-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Working on Chrome OS
Chrome OS does not have a Linux console by default, but one can be installed via settings. To get started, open the Settings app and scroll down. Then expand the advanced options and scroll down until you see the Developers header. Below there should be an option to activate the Linux development environment. Once you click this button you will be prompted to enter a username and a size to allocate for linux. The default 10Gb should be enough.
After having set up the development environment you will need to make sure your packages are up to date first by running these commands.
sudo apt-get update
sudo apt-get upgrade
You need a GCC (or alternative C99 compiler) and make. Git should be automatically installed.
sudo apt install build-essential
Optionally, you could use CMake building system.
sudo apt install cmake
For raylib to compile, you will need some additional libraries installed
sudo apt install libx11-dev xorg-dev
You can compile three different types of raylib library:
- The static library (default method)
- The dynamic shared library (often used on Linux)
- The web library
Download the raylib repository from Github, then compile it with:
git clone https://github.com/raysan5/raylib.git raylib
cd raylib/src/
make PLATFORM=PLATFORM_DESKTOP # To make the static version.
make PLATFORM=PLATFORM_DESKTOP RAYLIB_LIBTYPE=SHARED # To make the dynamic shared version.
make PLATFORM=PLATFORM_WEB # To make web version.
Warning: if you want to compile a different type of library (static, ...), you must type make clean
before the compiling.
Install the library to the standard directories, usr/local/lib
and /usr/local/include
, or remove it:
sudo make install # Static version.
sudo make install RAYLIB_LIBTYPE=SHARED # Dynamic shared version.
sudo make uninstall
sudo make uninstall RAYLIB_LIBTYPE=SHARED
NOTE: raylib is configurable and can be be built in a variety of ways. Please read src/Makefile
, src/config.h
and raylib.h
itself for a full listing of available options and values.
Building with cmake on Linux is easy, just use the following:
git clone https://github.com/raysan5/raylib.git raylib
cd raylib
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
In case any dependencies are missing, cmake will tell you.
NOTE: raylib is configurable and can be be built in a variety of ways. See the CMake Build Options for a full listing of available options and values. Alternatively, you may use the curses UI provided by ccmake(1)
for interactively configuring raylib.
If you have installed raylib with make install
, Just move to the folder raylib/examples
and run:
make PLATFORM=PLATFORM_DESKTOP
If raylib was installed with make install RAYLIB_LIBTYPE=SHARED
make PLATFORM=PLATFORM_DESKTOP RAYLIB_LIBTYPE=SHARED
A more detailed command for the OpenGL ES GRAPHICS variant is:
make PLATFORM=PLATFORM_DESKTOP GRAPHICS=GRAPHICS_API_OPENGLES_20 RAYLIB_LIBTYPE=SHARED USE_EXTERNAL_GLFW=TRUE \
CFLAGS="-fPIC -I/usr/include/GL" LDFLAGS='-L/usr/local/lib/raysan5 -lGLESv2 -lglfw3'
To compile just one specific example, add flags as needed:
make core/core_basic_window PLATFORM=PLATFORM_DESKTOP
To force recompile one example:
make core/core_basic_window PLATFORM=PLATFORM_DESKTOP -B
The raylib/games
folder can be made the same way as the examples. Have fun!
Instead of using the embedded GLFW, you can download GLFW3 and build it from source (it requires CMake).
wget https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip
unzip glfw-3.2.1.zip
cd glfw-3.2.1
cmake -DBUILD_SHARED_LIBS=ON
sudo make install
Now with GLFW installed, you may build raylib while specifying USE_EXTERNAL_GLFW
:
make USE_EXTERNAL_GLFW=TRUE
# or
cmake -DUSE_EXTERNAL_GLFW=ON
www.raylib.com | itch.io | GitHub | Discord | YouTube
- Architecture
- Syntax analysis
- Data structures
- Enumerated types
- External dependencies
- GLFW dependency
- libc dependency
- Platforms and graphics
- Input system
- Default shader
- Custom shaders
- Coding conventions
- Integration with other libs
- Working on Windows
- Working on macOS
- Working on GNU Linux
- Working on Chrome OS
- Working on FreeBSD
- Working on Raspberry Pi
- Working for Android
- Working for Web (HTML5)
- Working on exaequOS Web Computer
- Creating Discord Activities
- Working anywhere with CMake
- CMake Build Options
- raylib templates: Get started easily
- How To: Quick C/C++ Setup in Visual Studio 2022, GCC or MinGW
- How To: C# Visual Studio Setup
- How To: VSCode
- How To: Eclipse
- How To: Sublime Text
- How To: Code::Blocks