حل مشکلات
اگر build شما با شکست مواجه شد، ممکن است به دلیل build.rs باشد: برنامههایی که کارهای دلخواه را در زمان build انجام میدهند. این مورد بهطورکلی در تضاد با طراحی gn و ninja است که هدفشان قواعد build ایستا، قطعی برای به حداکثر رساندن موازیسازی و تکرارپذیری buildها است.
برخی از اقدامات build.rs به طور خودکار پشتیبانی میشوند. دیگران نیاز به اقدام دارند:
| ساخت افکت اسکریپت | توسط قالبهای gn ما پشتیبانی میشود | کار مورد نیاز شما |
|---|---|---|
| بررسی نسخه rustc برای پیکربندی ویژگیها روشن و خاموش | بلی | None |
| بررسی پلتفرم یا CPU برای پیکربندی ویژگیهای روشن و خاموش | بلی | None |
| تولید کردن کد | بلی | بله - در gnrt_config.toml مشخص کنید |
| Building C/C++ | خیر | اطراف آن را Patch کنید |
| سایر اقدامات دلخواه | خیر | اطراف آن را Patch کنید |
خوشبختانه، اکثر crateها حاوی build script نیستند و خوشبختانه، اکثر build scriptها تنها دو عمل اصلی را انجام میدهند.