على سبيل المثال: gamesdk/libs/arm64-v8a_API24_NDK17_cpp_static_Release
أضِف -lswappy_static إلى أمر الربط.
المكتبة المشتركة
تربط الخطوات المذكورة أعلاه بشكل ثابت إصدارًا من مكتبة Frame Pacing
تم تجميعه لمجموعة ABI ومستوى واجهة برمجة التطبيقات وNDK وSTL المحدّدة. إذا لم يكن هذا الخيار متاحًا لإعداداتك، يمكنك بدلاً من ذلك الربط بالمكتبة المشتركة:
اتّبِع الخطوتَين 1 و2 من القسم السابق لتعديل مسارات تضمين برنامج التجميع
واستخدِم ملف العنوان المناسب.
سيمنحك الربط الثابت مساحة أصغر بكثير للرمز لأنّك لن تحتاج إلى تجميع المكتبة المشتركة libswappy.so.
استخدام CMake (مكتبة ثابتة فقط)
إذا كنت تستخدم CMake، يمكنك الاطّلاع على ملف gamesdk/samples/bouncyball/app/CMakeLists.txt
في المكتبة التي تم تنزيلها
للحصول على مثال على إعداد CMake. ويتضمّن ملف أداة مساعدة، gamesdk/samples/gamesdk.cmake،
يُجري عمليات التحقّق النهائية، ويضيف مسارات التضمين المناسبة للمترجم،
وينشئ هدفًا يمكنك استخدامه لربط المكتبة.
لاستخدام هذه الأداة، اتّبِع الخطوات التالية:
أدرِج هذا الملف في ملف CMakeLists.txt:
include("path/to/gamesdk/samples/gamesdk.cmake")
استدعِ الدالة add_gamesdk_target مع المجلد الذي يحتوي على Gamesdk:
add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
في target_link_libraries الخاص بالمكتبة المجمّعة من رموز برمجية أصلية، أضِف swappy كعنصر تابع:
target_link_libraries(native-lib swappy ...)
للحصول على معلومات حول الاستخدام المتقدّم لـ CMake، يُرجى الاطّلاع على ملف المصدر gamesdk.cmake.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["After you've [downloaded the library](/games/sdk/frame-pacing/opengl) onto your\nmachine and have checked it into your source control system, make the following\nchanges to your project's build settings.\n\nStatic library\n\nDo the following steps to link your project to the static library:\n\n1. Add `gamesdk/include` to your compiler include paths.\n2. Include `swappy/swappyGL.h` for integration with OpenGL ES. In most cases, the header file contains all the functions you need to integrate the library into your engine.\n3. Add a path of the following form in your linker library paths:\n\n ```\n gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release\n ```\n\n For example: `gamesdk/libs/arm64-v8a_API24_NDK17_cpp_static_Release`\n4. Add `-lswappy_static` to your linker command.\n\nShared library\n\nThe above steps statically link against a version of the Frame Pacing library\ncompiled for the given ABI, API level, NDK and STL combination. If the combination\nis not available for your settings, you can instead link against the shared\nlibrary:\n\n1. Follow steps 1 and 2 from the previous section to update your compiler include paths and use the appropriate header file.\n2. Add a path of the following form in your linker library paths:\n\n ```\n gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release/lib/swappy\n ```\n3. Add `-lswappy` to your linker command.\n\nStatic linking will give you a much smaller code footprint as you don't need to\nbundle the `libswappy.so` shared library.\n\nUsing CMake (static library only)\n\nIf you are using CMake, see the `gamesdk/samples/bouncyball/app/CMakeLists.txt`\nfile in the [downloaded library](/games/sdk/frame-pacing/opengl)\nfor an example CMake configuration. It includes a utility file, `gamesdk/samples/gamesdk.cmake`,\nthat performs final checks, adds the proper compiler include paths and\ngenerates a target that you can use to link the library.\n\nTo use this utility, do the following:\n\n1. Include this file in your CMakeLists.txt: `include(\"`\u003cvar translate=\"no\"\u003epath/to/gamesdk\u003c/var\u003e`/samples/gamesdk.cmake\")`\n2. Call the `add_gamesdk_target` function with the folder containing the gamesdk: `add_gamesdk_target(PACKAGE_DIR `\u003cvar translate=\"no\"\u003epath/to/gamesdk\u003c/var\u003e`)`\n3. In your `target_link_libraries` for your native library, add `swappy` as a dependency: `\n target_link_libraries(native-lib swappy ...)\n `\n\n| **Note:** The path to the gamesdk used for `include` and `add_gamesdk_target` can either be absolute (for example, `/home/yourusername/gamesdk` or `C:\\Android\\gamesdk`) or relative to the `CMakeLists.txt` file.\n\nFor advanced usage of CMake, see the [`gamesdk.cmake` source file](https://android.googlesource.com/platform/frameworks/opt/gamesdk/+/refs/heads/master/samples/gamesdk.cmake)."]]