透過 Linux 上的原始碼 OR-Tools C++ 建構

簡介

本指南說明如何在 Linux 上透過支援 C++ 的原始碼 OR 工具建構應用程式。

除非您打算修改原始碼,或是搭配 OR 工具使用第三方解題工具,否則我們建議安裝套件

雖然上述操作說明可能也適用於其他 Linux 變化版本,但我們只能在符合下列條件的機器上測試這些指令:

  • Alpine Edge 64 位元 (x86_64)
  • Centos 7 LTS 64 位元 (x86_64)
  • Debian SID 64 位元 (x86_64)
  • Debian 11 (bullseye) 64 位元 (x86_64)
  • Fedora 38 64 位元 (x86_64)
  • Fedora 37 64 位元 (x86_64)
  • OpenSuse Leap 64 位元 (x86_64)
  • Ubuntu 23.10 64 位元 (x86_64)
  • Ubuntu 22.04 LTS 64 位元 (x86_64)
  • Ubuntu 20.04 LTS 64 位元 (x86_64)

必要條件

以下各節說明安裝 OR-工具的必要條件。

C++ 工具

如要安裝 C++ 工具,請開啟終端機視窗並輸入:

Alpine

apk add alpine-sdk linux-headers cmake lsb-release-minimal

半數

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

費多拉帽

sudo dnf groupinstall -y 'Development Tools'
sudo dnf install -y gcc-c++ cmake redhat-lsb-core

費多拉帽

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

下載原始碼

GitHub 上的 OR-Tools 原始碼有兩個不同的分支版本:stablemain

stable 分支版本經過完整測試,應能在所有支援的平台上順暢運作。
main 分支版本已套用最新更新與改善項目;這個分支版本是最新內容,但較不穩定。

下載穩定的原始碼

您可以透過下列任一方式取得 OR-Tools 的穩定原始碼:

  • 輸入下列指令,複製 stable 分支版本:

    git clone https://github.com/google/or-tools
    
  • 按一下 GitHub 中的 Clone or download 按鈕,以壓縮檔下載最新版本。 複製或下載按鈕的圖片

下載主要原始碼

如要從 main 分支版本擷取原始碼,請輸入:

git clone -b main https://github.com/google/or-tools

下載先前的版本

您可以透過下列任一方式取得先前版本的原始碼:

  • 請前往 GitHub 版本頁面下載先前的版本。
  • 假設您已建立本機存放區 (透過 git clone),您可以使用 Git 標記查看特定版本。舉例來說,如要使用 9.9 版而非 main 分支版本,請在本機存放區中輸入以下指令:

    git fetch --all --tags --prune
    git checkout tags/v9.9 -v v9.9
    

設定建構

在建構 OR-Tools 之前,您需要設定 CMake 建構系統產生器。

開啟終端機,前往解壓縮檔案的目錄。 接著輸入:

cmake -S . -B build -DBUILD_DEPS=ON

詳情請參閱 CMake 說明文件

使用 SCIP

v7.8 現已整合 SCIP,因此您不必手動安裝。

使用 Gurobi

Gurobi 現已預先整合。如有需要,OR-Tools 會在 MAC OS X 和 Windows 的預設安裝路徑中,或使用 GUROBI_HOME 環境變數搜尋 Gurobi 共用資料庫。

使用選用的第三方 MIP 解題工具

您也可以將 OR-Tools 與下列任一選用第三方 MIP 解決方案搭配使用 (該解決方案預設為停用):

詳情請參閱這份說明文件

建構原始碼

如要建構原始碼,請開啟終端機並前往解壓縮檔案的目錄。然後輸入下列指令來編譯 OR-工具:

cmake --build build --config Release --target all -j -v

詳情請參閱 CMake 說明文件

測試原始碼

您可以輸入以下指令,檢查一切是否正常運作:

cmake --build build --config Release --target test -v

這會執行 OR-Tools 的範例。如果所有範例都成功執行,您就可以開始使用 OR-Tools 了。

清理建構檔案

如果您需要重新安裝 OR-Tools,請執行下列指令:

rm -r build

會移除所有已編譯的依附元件。這項設定在重設為乾淨狀態時相當實用。

然後重新輸入指令:

cmake -S . -B build -DBUILD_DEPS=ON

cmake --build build --config Release --target all -j -v

在作業系統上安裝 OR-工具

如要在作業系統上安裝 C++ 適用的 OR-Tools,請輸入以下內容:

cmake --build build --config Release --target install -v