تجميع DLL مع معلومات الإصدار
-
26-09-2019 - |
سؤال
ما هي الخطوات اللازمة لتجميع معلومات الإصدار داخل Windows DLL من سطر الأوامر. لقد كنت أبحث في ملفات VersionInfo ، لكنني لم أتمكن من معرفة كيفية ربطها بـ DLL.
شكرًا لك
المحلول
تحتاج إلى إنشاء مورد إصدار وإضافته إلى مشروعك. يمكن القيام بذلك بسهولة من داخل Visual Studio. في VS 2008 ، انقر بزر الماوس الأيمن على مجلد للمشروع ، اختر إضافة وتحت "Visual C ++" حدد "ملف الموارد" (وليس قالب الموارد) ، في ملف المورد الذي تم إنشاؤه للتو ، ستتمكن من إضافة مورد إصدار يشبه هذه:
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "FileDescription", "XXX Application"
VALUE "FileVersion", "1, 0, 0, 1"
VALUE "InternalName", "XXX"
VALUE "LegalCopyright", "Copyright (C) 2010"
VALUE "OriginalFilename", "XXX.exe"
VALUE "ProductName", "XXX Application"
VALUE "ProductVersion", "1, 0, 0, 1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
من سطر الأوامر ، ستحتاج إلى استخدام RC.Exe ، ومترجم الموارد ثم ربط النتيجة بـ DLL.
نصائح أخرى
انقر بزر الماوس الأيمن فوق اسم المشروع في Solution Explorer ، حدد إضافة مورد. حدد الإصدار. في الجزء السفلي من VS_VERSION_INFO تم إنشاؤه حديثًا ، قم فقط بتعديل كل قيمة وفقًا لذلك ، وإعادة البناء وبعد ذلك ستكون هناك معلومات الإصدار.
عادةً ما تضع مورد VersionInfo في ملف .rc الخاص بك وتجميعه مع برنامج التحويل البرمجي للموارد (RC.Exe). لسوء الحظ ، لا أعرف أي وثائق (حديثة) لتنسيق المصدر. يبدو أن تقليد ما ينتجه VS يعمل على ما يرام ...