Przejdź do głównej zawartości

Instrukcja kompilacji

Większość użytkowników powinna sięgnąć po oficjalne wydanie. Kompiluj ze źródeł, gdy rozwijasz sam ReAPI, testujesz niewydaną jeszcze zmianę albo potrzebujesz własnej wersji.

Sprawdzenie wymagań

Kompilacja ReAPI wymaga kilku rzeczy:

Windows

  • Visual Studio 2015 (standard C++14) lub nowsze

Linux

  • Git 1.8.5 lub nowszy
  • CMake 3.10 lub nowszy
  • Jeden z: GCC 4.9.2+, ICC 15.0.1 20141023+ albo Clang (LLVM) 6.0+

Sklonowanie repozytorium

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

Kompilacja w Windowsie

Otwórz msvc/reapi.sln w Visual Studio, wybierz Release (albo Debug) spośród konfiguracji rozwiązania i skompiluj. Wynikiem jest reapi_amxx.dll.

notatka

CMake nie obsługuje kompilacji w Windowsie — CMakeLists.txt celowo kończy się błędem i komunikatem kierującym do msvc/reapi.sln. CMake służy wyłącznie do kompilacji pod Linuksem.

Kompilacja w Linuksie

Skorzystaj z dołączonego skryptu build.sh, opcjonalnie podając wybrany kompilator i liczbę zadań:

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

Na przykład:

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

Przez build.sh możesz też przekazać definicje CMake w postaci -D<opcja>=[ON|OFF]:

DefinicjaDziałanie
DEBUGWłącza tryb diagnostyczny.
USE_STATIC_LIBSTDCDołącza statycznie bibliotekę libstdc++.

Kompilacja pod Linuksem daje reapi_amxx_i386.so.

Przygotowanie środowiska kompilacji (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

Następnie wybierz kompilator:

sudo apt-get install -y gcc g++
# albo
sudo apt-get install -y clang

Przygotowanie własnej wersji

Wydanie zawiera obok pliku binarnego także pliki nagłówkowe Pawna z reapi/extra/amxmodx/scripting/include/ — skopiuj i je, jeśli testujesz wersję, która zmieniła publiczne API. Miejsce każdego pliku na serwerze opisano w Instalacji.