بناءان من المصدر: تحويل فقط، أو مكدس مضيف كامل

ينبغي لمعظم الناس البقاء على أرشيف GitHub الرسمي ودليل الإعداد. هذه الصفحة لمستودع المصدر. وضع إعادة الربط فقط يحوّل ELF الضيف إلى PE أو ELF للمضيف. المكدس القابل للتشغيل يحتاج أيضًا هدف المكتبات. البناء الذاتي مع مكتبات الإصدار بيئة مختلفة — لا تخلطهما عند الحكم على التوافق.

v0.1.3 · جُمع المحتوى في 22 أكتوبر 2026 من BUILD.md وUSAGE.md وREADME على main الحالي، ومن BUILD.md عند الوسم v0.1.3. ليس تصريفًا على مضيف.

متى تنزّل بدلًا من البناء

الأرشيف الرسمي على GitHub Releases هو الزوج المدعوم في هذا الموقع: أداة إعادة ربط ومكتبات مضيف مطابقة من نفس الوسم. البناء من المصدر اختياري. استخدمه عندما تغيّر الشفرة، أو تعيد إنتاج التزام مسمّى، أو يفتقد الأرشيف المنشور جزء مضيف يقول BUILD.md إنه يمكن تصريفه.

التنزيل: زوج الأرشيف الرسمي · المسار العادي: الإصدارات الرسمية ثم الإعداد.

ابنِ من المصدر عندما

  • تساهم برقعة وتحتاج تصريف الشجرة التي عدّلتها.
  • تقرير عام يسمّي التزامًا أو وسمًا ليس زوج الأرشيف المنشور.
  • تحتاج مكتبة مضيف لا يشحنها أرشيف الإصدار لنظامك — فقط إن وثّق BUILD.md ذلك الهدف.

مسارا البناء الموثّقان

إعادة الربط فقط: تحويل ELF الضيف → PE أو ELF المضيف

BUILD.md: هذا الوضع يبني أداة التحويل دون تهيئة الوحدات الفرعية أو إعداد SDL أو Vulkan أو FFmpeg أو FreeType أو معيد تصريف التظليل. يحتاج CMake ومصرّف C++20 وأداة بناء. بايثون 3.9 أو أحدث يفعّل اختبارات بايثون. التنفيذي في build-relinker/core/relinker/relinker (relinker.exe على ويندوز مع Ninja).

cmake -S . -B build-relinker -G Ninja -DCMAKE_BUILD_TYPE=Release -DANYPS5_RELINKER_ONLY=ON -DBUILD_TESTING=ON
cmake --build build-relinker --parallel
ctest --test-dir build-relinker --output-on-failure
  • المخرج x86-64: ELF لينكس افتراضيًا، أو PE ويندوز مع --windows، أو Mach-O مع --macos.
  • العناوين المحوّلة ما زالت تحتاج مكتبات نظام مبنية لنظام الهدف ومضيف x86-64 متوافق. وضع إعادة الربط فقط لا يبني تلك المكتبات.
  • الإصدارات تشحن مكتبات المضيف للينكس وويندوز فقط.
  • استخدم مجلد بناء منفصل إن شغّلت البناء الكامل لاحقًا.

البناء الكامل: الأدوات مع libs / وقت التشغيل

يبدأ المكدس القابل للتشغيل بـ git submodule update --init --recursive. مع BUILD_TESTING=OFF الافتراضي لا يُنتج cmake --build المكتبات المرقّعة. BUILD.md: كل مكتبة تحت core/libs/prx مضبوطة EXCLUDE_FROM_ALL، لذا خطوة --target libs الصريحة مطلوبة. تحمّل العناوين ملفات .prx المرقّعة من build/core/libs/libs.

git submodule update --init --recursive
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
cmake --build build --parallel
cmake --build build --target libs --parallel
  • المتطلبات المذكورة على main الحالي وعند v0.1.3: x86-64 وGit وCMake 3.22.1 أو أحدث وNinja وC++20. افتح BUILD.md لحزم نظام التشغيل.
  • بعد تغيير مكتبة، تخطّي --target libs يعني اختبار الثنائيات السابقة.
  • USAGE.md: انسخ build/core/libs/libs/*.prx إلى libs/ للعنوان. استخدم مكتبات مبنية لنظام الهدف.
  • بناء ويندوز ذاتي: انسخ أيضًا libgcc_s_seh-1.dll وlibstdc++-6.dll وlibwinpthread-1.dll من تلك السلسلة بجانب ملفات PRX المرقّعة. المحمّل لا يبحث في PATH؛ المكتبات الناقصة قد تظهر كخطأ 126 حتى إن وُجد .prx. أرشيفات الإصدار تتضمنها أصلًا.

أساسيات إعادة الإنتاج

أصول الإصدار الرسمية تسجّل وسمًا والتزامًا (web-release.json / release.json في مهمة Pages). إن صرّفت، اكتب الوسم أو التزام الشجرة التي بنيتها. رقم طلب السحب ليس مراجعة: الالتزامات اللاحقة وحل التعارضات تغيّر الشجرة.

  • افحص وسمًا (مثل v0.1.3) أو التزامًا مسمّى، ثم سجّل git rev-parse HEAD.
  • لا تتخطَّ --target libs عندما تحتاج مكدس مضيف قابل للتشغيل.
  • أبقِ أداة إعادة الربط والمكتبات المرقّعة و(على ويندوز) مكتبات MinGW الثلاث من نفس التصريف.
  • افتح ملف BUILD.md المرفق بتلك الشجرة. يوثّق main الحالي سلاسل ويندوز أكثر من ملف v0.1.3.

macOS ومضيفات أخرى

README وBUILD.md: بناء إعادة الربط فقط يعمل على macOS بما فيه Apple silicon، باستخدام AppleClang من أدوات سطر أوامر Xcode. USAGE.md: --macos يكتب Mach-O بمعمارية x86-64 ويعمل تحت Rosetta على Apple silicon؛ --to-rosetta يخفّض التعليمات التي تفتقدها Rosetta. العناوين المحوّلة ما زالت تحتاج مكتبات نظام لنظام الهدف. الإصدارات تشحن تلك المكتبات للينكس وويندوز فقط. تصريف إعادة الربط الناجح أو تحويل Mach-O ليس وقت تشغيل ألعاب مدعومًا على macOS وليس Playable. المجهول يبقى مجهولًا.

بعد البناء

البناء الذاتي ليس الأرشيف الرسمي. ما زلت تحوّل ELFًا نظيفًا وترتب app وlibs/ وapp0/ بالطريقة نفسها. الفرق هو مصدر ملفي المضيف: مجلد بنائك بدل زوج أصول GitHub. النافذة ليست Playable.

  • إعادة الربط فقط تعطيك محوّلًا. لا تستبدل أرشيف مكتبات المضيف.
  • البناء الكامل ما زال يحتاج تخطيط الإعداد ونفس ترتيب المراقبة عند التشغيل الأول.
  • خطأ ويندوز 126 أو 193 بعد بناء ذاتي ما زال مشكلة تخطيط أو DLL ناقص — راجع استكشاف الأخطاء. لا تعتبره مرحلة عنوان.

البناء الذاتي ليس Playable

نجاح ctest أو إنتاج app.exe / app.elf يؤكّد تلك الخطوات. لا يرقّي أي عنوان. اذكر الوسم أو الالتزام الذي بنيته في صفحة العنوان وفي Game bring-up. هذه الصفحة لا تدّعي أن صوت لينكس أُصلح في v0.1.3. Game bring-up.

التنزيل: زوج الأرشيف الرسمي · الإعداد: التخطيط وترتيب المراقبة عند التشغيل الأول · استكشاف الأخطاء: 193 و126 وحدود المضيف

المصادر الأصلية

فتح إصدارات GitHub الرسميةأي ملفان