Avatar ·

كيفية تجميع عدة ملفات ثنائية قابلة للتنفيذ في مشروع Cargo واحد؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Rust وأحاول فهم Cargo. لدي مشروع أريد فيه إنشاء عدة ملفات قابلة للتنفيذ مستقلة (binaries). على سبيل المثال، لدي محلل سجلات (log parser) ومولد تقارير (report generator) - هما برنامجان مختلفان، لكنهما يستخدمان نفس هياكل البيانات الداخلية والأدوات المساعدة. في Cargo افتراضيًا، إذا كتبت `cargo run`، فإنه يقوم بتجميع وتشغيل ملف ثنائي واحد فقط من `src/main.rs`. لكني أحتاج إلى ظهور ملفين قابلين للتنفيذ منفصلين في مجلد `target/debug/`: `log_parser` و `report_gen`. حاولت إضافة ملف ثانٍ `src/bin/report_gen.rs`، لكن Cargo اشتكى وقال إنه لا يمكنه العثور على نقطة الدخول. ثم قمت بإنشاء مجلد `src/bin/` ووضعت كلا الملفين فيه، لكن لا يزال هناك خطأ ما - `cargo build` يقوم بتجميع الأول فقط. أرجو إرشادي، كيف يمكنني إعداد المشروع بشكل صحيح بحيث يقوم Cargo بتجميع عدة ملفات ثنائية؟ هل أحتاج إلى كتابة شيء في `Cargo.toml`؟ هل يمكنني تحديد الملفات التي يجب أن تصبح ثنائية بشكل صريح؟