문제 해결
빌드가 실패하는 경우, 이는 빌드 시간에 임의의 작업을 실행하는 프로그램인 build.rs
때문일 수 있습니다. 이는 빌드의 병렬성과 재현성을 최대화하기 위해 정적인 빌드 규칙을 목표로 하는 gn
및 ninja
의 설계와 근본적으로 상충됩니다.
일부 build.rs
작업은 자동으로 지원됩니다. 그 외는 조치가 필요합니다.
빌드 스크립트 효과 | Google의 gn 템플릿에서 지원 | 필요한 작업 |
---|---|---|
기능을 사용 및 사용 중지로 구성하기 위해 rustc 버전 확인 | 예 | 없음 |
기능을 사용 및 사용 중지로 구성하기 위해 플랫폼 또는 CPU 확인 | 예 | 없음 |
Generating code | 예 | 예 - gnrt_config.toml 에 지정 |
C/C++ 빌드 | 아니오 | 주변에 패치를 적용합니다. |
임의의 기타 작업 | 아니오 | 주변에 패치를 적용합니다. |
다행히 대부분의 크레이트에는 빌드 스크립트가 포함되어 있지 않으며, 다행히 대부분의 빌드 스크립트는 상위 두 가지 작업만 실행합니다.