Saltar al contenido principal

Instrucciones de compilación

A la mayoría de usuarios les basta con una versión oficial. Compilar desde el código fuente tiene sentido si estás desarrollando el propio ReAPI, probando un cambio aún no publicado o necesitas una compilación propia.

Requisitos previos

Compilar ReAPI requiere varios componentes:

Windows

  • Visual Studio 2015 (estándar C++14) o posterior

Linux

  • Git 1.8.5 o posterior
  • CMake 3.10 o posterior
  • Uno de estos compiladores: GCC 4.9.2+, ICC 15.0.1 20141023+ o Clang (LLVM) 6.0+

Clonar el repositorio

git clone https://github.com/rehlds/ReAPI.git
cd ReAPI

Compilar en Windows

Abre msvc/reapi.sln en Visual Studio, selecciona Release (o Debug) entre las configuraciones de la solución y compila. El resultado es reapi_amxx.dll.

nota

CMake no admite la compilación en Windows: CMakeLists.txt falla a propósito con un mensaje que te remite a msvc/reapi.sln. CMake se usa únicamente para la compilación en Linux.

Compilar en Linux

Usa el script build.sh incluido, indicando si quieres el compilador y el número de tareas en paralelo:

./build.sh --compiler=[gcc|icc|clang] --jobs=[N]

Por ejemplo:

./build.sh --compiler=gcc --jobs=4 # GCC
./build.sh --compiler=intel # ICC
./build.sh --compiler=clang # Clang / LLVM

También puedes pasar definiciones de CMake a través de build.sh con -D<opción>=[ON|OFF]:

DefiniciónEfecto
DEBUGActiva el modo de depuración.
USE_STATIC_LIBSTDCEnlaza libstdc++ de forma estática.

La compilación en Linux genera reapi_amxx_i386.so.

Comprobar el entorno de compilación (Debian / Ubuntu)

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y gcc-multilib g++-multilib
sudo apt-get install -y build-essential
sudo apt-get install -y libc6-dev libc6-dev-i386

Después elige un compilador:

sudo apt-get install -y gcc g++
# o bien
sudo apt-get install -y clang

Preparar una compilación propia

Una versión incluye además las cabeceras de Pawn de reapi/extra/amxmodx/scripting/include/ junto al binario; cópialas también si estás probando una compilación que haya cambiado la API pública. En Instalación se indica dónde va cada archivo en el servidor.