Wstęp
Z tego przewodnika dowiesz się, jak tworzyć kompilacje z użyciem narzędzi źródłowych LUB-Tools z obsługą C++ w systemie Linux.
Jeśli nie chcesz modyfikować kodu źródłowego ani używać rozwiązań innej firmy za pomocą narzędzi LUB, zalecamy instalację pakietu.
Chociaż te instrukcje mogą też działać w innych wersjach systemu Linux, przetestowaliśmy je tylko na komputerach spełniających te wymagania:
- Alpine Edge w wersji 64-bitowej (x86_64)
- Centos 7 LTS 64-bitowy (x86_64)
- Debian SID 64-bitowy (x86_64)
- Debian 11 (bullseye) 64-bitowy (x86_64)
- Fedora 38 64-bitowa (x86_64)
- Fedora 37 64-bitowa (x86_64)
- OpenSuse Leap 64-bit (x86_64)
- Ubuntu 23.10 w wersji 64-bitowej (x86_64)
- Ubuntu 22.04 LTS 64-bitowy (x86_64)
- Ubuntu 20.04 LTS 64-bitowy (x86_64)
Wymagania wstępne
W kolejnych sekcjach opisano wymagania wstępne instalacji narzędzi LUB.
Narzędzia C++
Aby zainstalować narzędzia C++, otwórz okno terminala i wpisz:
Alpine
apk add alpine-sdk linux-headers cmake lsb-release-minimal
Cento
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y pkgconfig redhat-lsb-core
Debian
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
Fedora
sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core
OpenSUSE
sudo zypper refresh
sudo zypper install -y git gcc11 gcc11-c++ lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Ubuntu
sudo apt update
sudo apt install -y build-essential cmake lsb-release
Pobieranie kodu źródłowego
W GitHub istnieją 2 różne gałęzie kodu źródłowego OR-Tools: stable
i main
.
Gałąź stable
została dokładnie przetestowana i powinna działać prawidłowo na wszystkich obsługiwanych platformach.
Gałąź main
to miejsce, w którym wprowadzono najnowsze aktualizacje i ulepszenia. Jest bardziej aktualna, ale mniej stabilna.
Pobieranie stabilnego kodu źródłowego
Stabilny kod źródłowy dla OR-Tools możesz uzyskać na jeden z tych sposobów:
Skopiuj gałąź
stable
, wpisując:git clone https://github.com/google/or-tools
Pobierz najnowszą wersję w skompresowanym pliku, klikając przycisk
Clone or download
na GitHub.
Pobierz główny kod źródłowy
Aby pobrać kod źródłowy z gałęzi main
, wpisz:
git clone -b main https://github.com/google/or-tools
Pobieranie poprzednich wersji
Kod źródłowy poprzednich wersji możesz pobrać na następujące sposoby:
- Pobierz poprzednią wersję ze strony wersji na GitHubie.
Zakładając, że masz już utworzone repozytorium lokalne (do
git clone
), możesz sprawdzić konkretną wersję za pomocą tagu Git. Aby na przykład pracować z wersją 9.9 zamiast gałęzimain
, wpisz w lokalnym repozytorium te polecenia:git fetch --all --tags --prune
git checkout tags/v9.9 -v v9.9
Konfigurowanie kompilacji
Przed utworzeniem narzędzi LUB musisz skonfigurować generator systemu kompilacji CMake.
Otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Potem wpisz:
cmake -S . -B build -DBUILD_DEPS=ON
Więcej informacji znajdziesz w dokumentacji CMake.
Korzystanie z SCIP
Od wersji 7.8 rozwiązanie SCIP jest teraz zintegrowane, więc nie musisz instalować go ręcznie.
Korzystanie z Gurobi
Usługa Gurobi jest teraz wstępnie zintegrowana. W razie potrzeby w czasie działania narzędzi OR-Tools wyszuka zasoby udostępniane Gurobi w domyślnej ścieżce instalacji instalatorów Gurobi w systemie MAC OS X i Windows lub za pomocą zmiennej środowiskowej GUROBI_HOME
.
Korzystanie z opcjonalnego rozwiązania MIP innej firmy
Możesz też używać LUB z dowolnym z tych opcjonalnych rozwiązań MIP innych firm, których obsługa domyślnie jest wyłączona:
- CPLEX
- GLPK (tylko Linux i macOS)
- Rozwiązanie XPRESS
Więcej informacji znajdziesz w tej dokumentacji.
Tworzenie kodu źródłowego
Aby utworzyć kod źródłowy, otwórz terminal i przejdź do katalogu, z którego zostały wyodrębnione pliki. Następnie wpisz to polecenie, aby skompilować OR-Tools:
cmake --build build --config Release --target all -j -v
Więcej informacji znajdziesz w dokumentacji CMake.
Testowanie kodu źródłowego
Aby sprawdzić, czy wszystko działa poprawnie, wpisz:
cmake --build build --config Release --target test -v
Uruchamiają się przykłady z operatora LUB. Jeśli wszystkie przykłady się uruchomią, możesz zacząć korzystać z OR-Tools.
Czyszczenie plików kompilacji
Jeśli musisz ponownie zainstalować OR-Tools, polecenie:
rm -r build
usuwa wszystkie skompilowane zależności. Może to być przydatne podczas przywracania ustawień fabrycznych.
Następnie ponownie wpisz polecenia:
cmake -S . -B build -DBUILD_DEPS=ON
cmake --build build --config Release --target all -j -v
Instalowanie narzędzi OR-Tools w swoim systemie operacyjnym
Możesz zainstalować OR-Tools dla C++ w swoim systemie operacyjnym, wpisując:
cmake --build build --config Release --target install -v