RTSS 和 RTDLL 应用程序在构建时,需要有效的 RTX64 SDK 许可证才能生成可运行的可执行文件。如果不存在有效许可证,仍然可以生成 RTSS 或 RTDLL,但无法运行。
RTX64 通过 StampTool(标记工具)来许可 RTSS 和 RTDLL。该工具将验证 SDK 许可证,然后对 RTSS 或 RTDLL 二进制文件进行标记。从以下目录访问 StampTool.exe:%RTX64COMMON%\bin(默认为 C:\Program Files\IntervalZero\Common\bin)
关于 RTSS 和 RTDLL 标记
RTX64 使用文件标记方式确保 .rtss 和 .rtdll 的真实性和完整性。为文件标记(Stamp),和数字签名类似,可以确保文件是使用合法授权的 RTX64 SDK 构建的。
文件类型
使用 StampTool 对以下文件类型进行标记。
文件扩展名 | 内容 |
---|---|
.rtss | RTSS 应用程序提供实时功能,并在 RTX64 子系统内运行 |
.rtdll | RTDLL 是动态库,可以使用标准 LoadLibrary 和 FreeLibrary 隐式调用,或链接到 RTSS 应用程序来加载和卸载 |
重要提示!如果 RTSS 或 RTDLL 二进制文件未成功标记,或 StampTool 无法验证有效的许可证,则 RTSS/RTDLL 无法在零售 Runtime 上运行。
标记 RTSS 应用和 RTDLL
通过 RTX64 应用程序或 RTDLL 模板创建的 RTSS 或 RTDLL 二进制文件,将自动使用 StampTool 进行标记。所有未使用模板构建的应用程序都必须使用 StampTool 手动标记。
注意:如果没有 Visual Studio 项目设置中 RTX64 版本的有效 SDK 许可证,则 RtssRelease 和 RtssDebug 配置构建将会失败。(RTSS 二进制文件仍会生成,但无法加载和运行)。
手动标记 RTSS/RTDLL:
- 以管理员身份打开命令提示符;
- 输入 stamptool,以及 RTSS 或 RTDLL 二进制文件的路径;
例如:
stamptool "C:\Users\Administrator\Documents\Visual Studio Version\Projects\RtxApp2\RTSSDebug\rtxapp2.rtss"
此外,可以在文件路径之前键入 /info 显示二进制文件的信息,而不对其进行标记。此信息包括文件是否已被标记。
例如:
stamptool /info "C:\Users\Administrator\Documents\Visual Studio Version\Projects\RtxApp2\RTSSDebug\rtxapp2.rtss"
注意:路径可以是相对或绝对路径,但必须引用 RTSS 或 RTDLL 二进制文件。如果路径名包含空格,则必须将其括在双引号中,如上例所示。
在 VISUAL STUDIO 中将 STAMPTOOL 设置为构建后事件:
对于不是由 RTX64 应用程序或 RTDLL 模板构建的应用程序,可以在项目属性中创建事件,在随后构建应用程序时,自动标记 RTSS/RTDLL。
- 在解决方案资源管理器(Solution Explorer)窗口中,右键单击该项目,选择属性(Properties);
- 在属性页(Property Pages)对话框中,选择配置属性(Configuration Properties);
- 单击生成事件(Build Events),再单击生成后事件(Post-Build Event);
- 在命令行字段中,输入:“%RTX64Common%\bin\StampTool.exe”“$(TargetPath)”
- 将在构建中使用(Use In Build)设置为是(Yes);
- 单击确定(OK)。
更改目标名称
如果需要在 Visual Studio 中更改 RTSS 或 RTDLL 的目标名称配置属性,需要对项目的设置进行另外的更改。如,目标名称属性的默认值为“$(ProjectName)”:

将其更改为“NewTargetName”后,项目设置将如下所示:

对项目设置进行上述修改后,RTX64 StampTool 将无法找到生成的二进制文件。此时必须更改链接器(Linker)属性的常规(General)部分,在输出文件的属性中,将二进制文件的名称指定为 NewTargetName:

对项目设置的上述更改完成后,即可构建项目。
注意:以上设置在项目的 RTSSDebug 和 RTSSRelease 解决方案配置中都要完成。