GitHub Actions에서 Linux에서 Mac으로 Rust 및 크로스 컴파일

소개



따라서 배포하려는 바이너리가 있지만 현재로서는 Windows 및 Linux용으로만 컴파일할 수 있습니다. Linux에서 Mac으로 크로스 컴파일하는 적절한 방법을 검색하는 데 며칠은 아니더라도 몇 시간을 보냈습니다. 글쎄요, 제가 거기에 있었고 이제 쉬운 솔루션을 제공한다는 것을 말씀드리려고 왔습니다!

소스



기본 사용법




# Setup Rust, use the x86_64-apple-darwin target but the rest can be customized.
- uses: ATiltedTree/setup-rust@v1
  with:
    targets: x86_64-apple-darwin
    rust-version: nightly # Works both with 'stable' and 'nightly'

# Use the v1 of this action
- uses: mbround18/setup-osxcross@v1
  # This builds executables & sets env variables for rust to consume.
  with:
    osx-version: "12.3"

# Checkout your code
- name: Clone your Code
  uses: actions/checkout@v3

# Build your code for apple-darwin based release
- name: Build Your Code
  run: cargo build --release --target x86_64-apple-darwin


기능 설명


  • github 작업 작업 디렉토리에 osxcross라는 폴더를 생성합니다. (작동 중인 파일과의 간섭을 피하기 위해)
  • Clones the osxcross repository
  • It downloads the SDK matching the version you specified from @joseluisq/macosx-sdks
  • 캐시 확인
  • 캐시에 적중되지 않은 경우 빌드됨
  • 빌드 대상에 대한 환경 변수를 설정합니다x86_64-apple-darwin.

  • 감사합니다


  • Thank you James Waples for writing the cross compilation article
  • Thank you osxcross for creating the path forward
  • Thank you joseluisq for packaging the SDKs
  • 좋은 웹페이지 즐겨찾기