حل مشکلات
اگر 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ها تنها دو عمل اصلی را انجام میدهند.