GLIB-COMPILE-RESOURCES(1) دستورهای کاربری GLIB-COMPILE-RESOURCES(1)

glib-compile-resources - کامپایل منابع برنامهها به فایلهای منبع باینری یا C

glib-compile-resources [ گزینهها... ] فایل_gresource.xml

دستور glib-compile-resources فایل توضیحات منبع XML را خوانده و فایل بسته منبع باینری GResource یا کدهای منبع C متناظر را برای پیوند در برنامه ایجاد میکند.

فایل‌های منبع XML معمولاً دارای پسوند نام فایل .gresource.xml هستند. برای مشاهده توضیحات دقیق درباره قالب فایل XML، به مستندات GResource در نشانی https://docs.gtk.org/gio/struct.Resource.html مراجعه کنید.

-h, --help

نمایش راهنما و خروج.

--version

نمایش نگارش برنامه و خروج.

--target <TARGET>

ذخیره منابع کامپایل‌شده در فایل TARGET. اگر مشخص نشود، از نام فایلی بر اساس نام پایه (basename) فایل FILE استفاده می‌شود.

--sourcedir <DIRECTORY>

فایل‌های مورد ارجاع در FILE از این دایرکتوری بارگذاری می‌شوند. اگر مشخص نشود، از دایرکتوری جاری استفاده خواهد شد. در صورتی که گزینه --sourcedir بیش از یک بار به کار رود، دایرکتوری‌های مشخص‌شده به ترتیب جستجو می‌شوند.

--generate

نوشتن فایل خروجی در قالبی که بر اساس پسوند نام آن انتخاب می‌شود:

.c

کد منبع C

.h

سرآیند C (فایل header)

.gresource

بسته منابع (resource bundle)

--generate-source

به جای نوشتن بسته منبع در قالب باینری، یک فایل منبع C ایجاد می‌کند که حاوی بسته منابع است. سپس این فایل می‌تواند برای دسترسی آسان درون برنامه کامپایل شود.

--generate-header

تولید یک فایل سرآیند (header) برای استفاده به همراه کدهای C تولیدشده توسط --generate-source.

--generate-dependencies

فهرست فایل‌هایی را که بسته منابع به آن‌ها ارجاع می‌دهد در خروجی استاندارد چاپ می‌کند. این گزینه می‌تواند برای ردیابی وابستگی‌ها در سیستم ساخت استفاده شود. برای نمونه، دستور ساخت (make rule) زیر فایل test.gresource را وابسته به تمام فایل‌های موجود در test.gresource.xml قرار می‌دهد تا در صورت تغییر هر یک از آن‌ها، به صورت خودکار بازسازی شود:
test.gresource: test.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies test.gresource.xml)

توجه داشته باشید که این قابلیت ممکن است در نسخه‌های غیر گنو (non-GNU) ابزار make قابل حمل (portable) نباشد.

همچنین گزینه --dependency-file را ببینید.

--c-name

تعیین پیشوند مورد استفاده برای شناسه‌های C در کدهای تولیدشده توسط --generate-source و --generate-header.

--manual-register

به‌طور پیش‌فرض، کدهای تولیدشده توسط --generate-source از مقداردهی اولیه خودکار برای منابع استفاده می‌کنند. این کار در اکثر سیستم‌ها با استفاده از پشتیبانی کامپایلر از توابع سازنده (constructors) به درستی عمل می‌کند. با این حال، برخی از کامپایلرهای خاص ممکن است از آن پشتیبانی نکنند؛ در این صورت می‌توانید گزینه --manual-register را مشخص کنید که توابع سفارشی ثبت (register) و لغو ثبت (unregister) را تولید می‌کند تا کد شما بتواند آن‌ها را هنگام راه‌اندازی و آزادسازی به صورت دستی فراخوانی کند.

--internal

به‌طور پیش‌فرض، کدهای تولیدشده توسط --generate-source تمام توابع مقداردهی اولیه را به عنوان extern اعلان می‌کنند؛ بنابراین این توابع صادر (export) می‌شوند مگر اینکه توسط اسکریپت پیوند (link script) یا روش‌های دیگر از آن جلوگیری شود. از آنجا که کتابخانه‌ها معمولاً مایلند از این توابع تنها به صورت داخلی استفاده کنند، اعلان آن‌ها به عنوان G_GNUC_INTERNAL کاربردی‌تر است که این کار توسط گزینه --internal انجام می‌شود.

--external-data

به‌طور پیش‌فرض، کدهای تولیدشده توسط --generate-source داده‌های منبع را به صورت لیترال رشته‌ای (string literal) جاسازی می‌کنند. هنگامی که گزینه --external-data داده شود، داده‌ها فقط در فایل C تولیدشده اعلان می‌شوند و باید به صورت خارجی پیوند (link) داده شوند.

--dependency-file <FILE>

وابستگی‌ها را به همان شیوه دستور gcc -M -MF در فایل مشخص‌شده می‌نویسد. اگر مقدار FILE برابر با - باشد، وابستگی‌ها در خروجی استاندارد نوشته می‌شوند. بر خلاف گزینه --generate-dependencies، این گزینه می‌تواند با سایر گزینه‌های --generate ترکیب شود تا وابستگی‌ها را به عنوان اثر جانبیِ تولید کدهای منبع ایجاد کند.

--generate-phony-targets

هنگام ایجاد فایل وابستگی با گزینه --dependency-file، هدف‌های ساختگی (phony targets) را به همان شیوه gcc -MP اضافه می‌کند. این گزینه معمولاً به همراه make استفاده می‌شود.

--compiler <NAME>

تولید کدی که برای کامپایلر مشخص‌شده با NAME بهینه‌سازی می‌شود. دو حالت کامپایلر موجود عبارتند از gcc برای تمام زنجیره‌ابزارهای سازگار با GCC، و msvc برای کامپایلر ویژوال سی مایکروسافت (Microsoft Visual C Compiler). اگر این گزینه تنظیم نشود، مقدار پیش‌فرض از متغیر محیطی CC گرفته خواهد شد.

XMLLINT

مسیر کامل به فایل اجرایی xmllint. این متغیر برای پیش‌پردازش منابع با گزینه پیش‌پردازش xml-stripblanks به کار می‌رود. اگر این متغیر محیطی تنظیم نشده باشد، برنامه xmllint در متغیر محیطی PATH جستجو می‌شود.

GDK_PIXBUF_PIXDATA

از نسخه 2.32 بسته gdk-pixbuf منسوخ شده است، زیرا GResource از جاسازی قالب‌های مدرن تصویر بدون نیاز به تبدیل پشتیبانی می‌کند.

مسیر کامل به فایل اجرایی gdk-pixbuf-pixdata. این متغیر برای پیش‌پردازش منابع با گزینه پیش‌پردازش to-pixdata به کار می‌رود. اگر این متغیر محیطی تنظیم نشده باشد، برنامه gdk-pixbuf-pixdata در متغیر محیطی PATH جستجو می‌شود.

JSON_GLIB_FORMAT

مسیر کامل به فایل اجرایی json-glib-format. این متغیر برای پیش‌پردازش منابع با گزینه پیش‌پردازش json-stripblanks به کار می‌رود. اگر این متغیر محیطی تنظیم نشده باشد، برنامه json-glib-format در متغیر محیطی PATH جستجو می‌شود.
مه ۲۰۲۵ glib2