0
有人可以帮我写一个版本化的DLL的例子吗? 我想创建一个函数,在编译期间 - 设置DLL的所有细节,但我不知道该怎么做,甚至不知道如何启动或从何处开始。如何创建一个版本化的DLL
有人可以帮我写一个版本化的DLL的例子吗? 我想创建一个函数,在编译期间 - 设置DLL的所有细节,但我不知道该怎么做,甚至不知道如何启动或从何处开始。如何创建一个版本化的DLL
所涉及的三个步骤是:
.res
)链接到DLL中。实施例:
的main.cpp
#include <windows.h>
BOOL APIENTRY DllMain(HMODULE, DWORD, LPVOID) { return TRUE; }
version.rc
#define APSTUDIO_READONLY_SYMBOLS
#include "windows.h"
#undef APSTUDIO_READONLY_SYMBOLS
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#pragma code_page(1252)
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,9,1,7
PRODUCTVERSION 2,2,2,2
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904b0"
BEGIN
VALUE "CompanyName", "My Company.\0"
VALUE "FileDescription", "My File\0"
VALUE "FileVersion", "1.9.1.7\0"
VALUE "InternalName", "my-real-file\0"
VALUE "LegalCopyright", "Copyright © 2012 My Company Ltd.\0"
VALUE "OriginalFilename", "my.dll\0"
VALUE "PrivateBuild", "820\0"
VALUE "ProductName", "My Company: my dll\0"
VALUE "ProductVersion", "2.2.2.2\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1200
END
END
从命令行:
> rc version.rc > cl /nologo /LD main.cpp version.RES main.cpp
这将创建一个版本选项卡main.dll
。
警告:自从我看了这个并忘记了version.rc脚本中所有内容的含义之后,我已经有相当长的一段时间了。
对不起这个问题,但这是C++吗?它有BEGIN,END,BLOCK和VALUE ..这是什么语言?并且我应该添加一个.rc文件到我在VS2010中打开的项目中?我很困惑 – user1386966
资源脚本不是C++。如果您按照资源编译器的链接进行操作,您可以了解有关脚本内容的更多信息。至于使用VS2010 IDE,恐怕我不能提供帮助,因为我不使用IDE。我怀疑IDE会为您生成脚本。 – hmjd
以后如何链接?我正在使用VS和预构建属性,我想将它添加到那里,我应该给出dll项目的完整路径吗?然后使用:fo/resource.rc?那么我应该得到RES文件,然后呢?我如何链接它?我应该使用后生成的属性? – user1386966