Linux의 소스 OR-도구 C++에서 빌드

소개

이 가이드에서는 다음을 지원하는 소스 또는 도구에서 빌드하는 방법을 설명합니다. C++를 사용합니다.

소스 코드를 수정하거나 서드 파티 솔버를 사용할 계획이 없는 경우 또는 패키지 설치를 사용하는 것이 좋습니다.

이 지침이 다른 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 24.04 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

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

소스 코드 다운로드하기

사이트의 OR-도구 소스 코드에는 두 개의 서로 다른 브랜치가 있습니다. GitHub: stablemain.

stable 브랜치는 철저히 테스트되었으며 모든 지원되는 플랫폼입니다
main 브랜치는 최신 업데이트 및 개선사항이 적용되었습니다. 더 최신이지만 덜 안정적입니다.

안정적인 소스 코드 다운로드

다음 방법 중 하나로 OR 도구의 안정적인 소스 코드를 가져올 수 있습니다.

  • 다음을 입력하여 stable 브랜치를 클론합니다.

    git clone https://github.com/google/or-tools
    
  • 최신 출시 버전을 압축 파일로 다운로드하려면 GitHubClone or download 버튼 복제 또는 다운로드 버튼 이미지

를 통해 개인정보처리방침을 정의할 수 있습니다.

기본 소스 코드 다운로드

main 브랜치에서 소스 코드를 검색하려면 다음을 입력합니다.

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

이전 출시 버전 다운로드

다음 방법 중 하나로 이전 출시의 소스 코드를 가져올 수 있습니다.

  • GitHub 출시 페이지에서 이전 출시 버전을 다운로드합니다.
  • (git clone로) 로컬 저장소를 이미 만들었다고 가정합니다. Git을 사용하여 특정 릴리스를 태그를 추가합니다. 예를 들어, 이전 버전 대신 v9.10 버전에서 작업하려면 main 브랜치에서 로컬 저장소에 다음 명령어를 입력합니다.

    git fetch --all --tags --prune
    git checkout tags/v9.10 -b v9.10
    

빌드 구성

OR 도구를 빌드하기 전에 CMake 빌드 시스템을 구성해야 합니다. 살펴보겠습니다

터미널을 열고 파일의 압축을 푼 디렉터리로 이동합니다. 그런 다음 아래 내용을 입력합니다.

cmake -S . -B build -DBUILD_DEPS=ON

를 참고하세요.

자세한 내용은 CMake 문서 참조하세요.

SCIP 사용

v7.8부터 SCIP가 통합되었으므로 수동으로 설치할 필요가 없습니다.

Gurobi 사용

Gurobi는 이제 사전 통합되어 있습니다. 필요한 경우 런타임 시 OR 도구가 Gurobi 설치 프로그램의 기본 설치 경로에 있는 Gurobi 공유 라이브러리 MAC OS X 및 Windows에서 또는 GUROBI_HOME 환경 변수를 사용하여

서드 파티 MIP 솔버(선택사항) 사용

또한 다음과 같은 선택적 서드 파티 MIP와 함께 OR 도구를 사용할 수 있습니다. 지원이 기본적으로 사용 중지되어 있는 문제 해결사의 경우:

자세한 내용은 이 문서 참조하세요.

소스 코드 빌드

소스 코드를 빌드하려면 터미널을 열고 확인할 수 있습니다 그런 다음 다음 명령어를 입력하여 OR-Tools를 컴파일합니다.

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

자세한 내용은 CMake 문서 참조하세요.

소스 코드 테스트

다음을 입력하여 모든 것이 올바르게 실행되는지 확인할 수 있습니다.

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

OR 도구 예시를 실행합니다. 모든 예시가 성공적으로 배포되면 OR 도구 시작하기

빌드 파일 정리

OR 도구를 다시 설치해야 하는 경우 다음 명령어를 사용하세요.

rm -r build

컴파일된 종속 항목이 모두 삭제됩니다 이는 정상적인 상태로 재설정하는 데 유용할 수 있습니다.

그런 다음 명령어를 다시 입력합니다.

cmake -S . -B build -DBUILD_DEPS=ON

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

운영체제에 또는 도구 설치하기

다음을 입력하여 운영 체제에 C++용 OR 도구를 설치할 수 있습니다.

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