ჯვარედინი ველორენის შედგენა
რამდენადაც უფრო და უფრო მეტ ადამიანს სურს Veloren-ისთვის თამაში ან განვითარება სხვა პლატფორმებზე, შეიძლება გასაკვირი არ იყოს, რომ ამ პლატფორმებზე ზე აშენება შეიძლება არ იყოს ყველაზე ელეგანტური გადაწყვეტა, ემულაცია საკმაოდ ხშირად ნელია და არჩეულ პლატფორმას უბრალოდ არ აქვს საჭირო რესურსები თამაშის შესაქმნელად გონივრულ დროში.
გთხოვთ გაითვალისწინოთ: ამ ნაბიჯების დოკუმენტაცია ამჟამად მიმდინარეობს, შესაძლოა დაგჭირდეთ მათი კორექტირება თქვენი კონკრეტული სცენარისთვის.
Linux
წინაპირობები
იმისათვის, რომ შექმნათ თქვენი არჩეული პლატფორმისთვის, მაგალითად arm64, თქვენ უნდა დააინსტალიროთ შემდგენელი ხელსაწყოების ჯაჭვი ამ არქიტექტურისთვის. ჩვენს შემთხვევაში, ეს არის aarch64-linux-gnu-gcc.
თქვენ ასევე დაგჭირდებათ თქვენი არქიტექტურისთვის დაინსტალირებული პროექტის კომპილაციის დამოკიდებულებები. ჩვენს მაგალითში, ჩვენ გამოვიყენეთ Raspberry Pi პროექტის შედგენისთვის საჭირო ყველა დამოკიდებულების დასაყენებლად, შემდეგ SD ბარათი ჩაერთო შენობის სისტემაში და მისი root ფაილური სისტემა დამონტაჟდა /mnt-ში.
ჯვარედინი შედგენა
პროექტის წყაროს ხე კლონირებული იქნა ჩვენს სამშენებლო მანქანაში, თვითნებურ ადგილას. გახსენით ტერმინალი და გადადით პროექტის root-ზე, შემდეგ შეასრულეთ:
rustup target add [target]
სადაც [target] არის ერთ-ერთი სამიზნე აქ. ჩვენს შემთხვევაში, ეს იყო aarch64-unknown-linux-gnu.
ამის შემდეგ, თქვენ უნდა შეხვიდეთ ახლად შექმნილ .cargo დირექტორიაში და შეცვალოთ config ფაილი. დაამატეთ შემდეგი ჩანაწერი:
[target.X]
linker="Y"
სადაც X იყო aarch64-unknown-linux-gnu ჩვენს შემთხვევაში, და Y იყო aarch64-linux-gnu-gcc შესაბამისად. ისინი უნდა შეესაბამებოდეს ზემოთ აღნიშნულ მიზანს და შესაბამისად შემდგენელი ხელსაწყოების ქსელს (ის, რომელიც დააინსტალირეთ, როგორც წინაპირობა).
თავად კომპილაციისთვის, თქვენ უნდა უთხრათ Cargo-ს, სად არის სწორი ბიბლიოთეკები. იმის გათვალისწინებით, რომ ჩვენ დავამონტაჟეთ ჩვენი სამიზნის root ფაილური სისტემა /mnt-ზე, შეგვიძლია გამოვიყენოთ PKG_CONFIG_SYSROOT_DIR გარემოს ცვლადი.
კომპილაციის ბრძანება ასე გამოიყურება:
PKG_CONFIG_SYSROOT_DIR=Z cargo build --release --target X
სადაც X არის სამიზნე, რომლისთვისაც ჩვენ ვაშენებთ, და Z არის იმ პლატფორმის ფაილური სისტემის ფესვი, რომლისთვისაც ჩვენ ვაშენებთ. სწორედ აქ იყო დამონტაჟებული Raspberry Pi-ს SD ბარათი, ჩვენს შემთხვევაში /mnt.
მოგერიდებათ შეცვალოთ ბრძანება თქვენს საჭიროებებზე, ორიგინალური კომპილაციის ინსტრუქციების მიხედვით. თქვენ უნდა იპოვოთ ჩაშენებული ბინარები პროექტის root-ის target ქვესაქაღალდეში.
შენიშვნა
წერის დროს, პრობლემაა keyboard-keynames ბიბლიოთეკაში aarch64-ისთვის და, ალბათ, სხვებისთვისაც. თუ ვივარაუდებთ, რომ ~/.cargo არის თქვენი Cargo ჩამოტვირთვების ნაგულისხმევი მდებარეობა, შეცვალეთ ფაილი, რომელიც მდებარეობს მისამართზე: ~/.cargo/git/checkouts/keyboard-keynames-0b8339ee617b0344/a97ae50/src/platform/unix/key_layout.rs და შეცვალეთ ყველა ეგზემპლარი
#![allow(unused)]
fn main() {
unsafe { &*(utf_key as *const [i8] as *const [u8]) }
}
თან
#![allow(unused)]
fn main() {
unsafe { &*(utf_key as *const [c_char] as *const [u8]) }
}
რის შემდეგაც შედგენა წარმატებული იქნება.