3

在编写游戏时,您总是会添加一些数据(图像、声音……)。在类 Unix 系统上,我通常将它们安装到${PREFIX} /share/ project /data ,其中${PREFIX}可能由 CMake 或 autotools 等构建系统控制。

在这种情况下,很容易使用构建系统自动生成的一些#define直接设置数据目录。

在 Windows 上,我完全不知道如何找到数据目录,因为应用程序安装程序总是询问在哪里安装项目,并且代码已经编译,无法通过一些#define来控制它。

对于这个问题,我有两个想法:

  1. 使用 .bat 脚本启动二进制文件并将开关添加到数据目录。然后用户将只启动这个 .bat 文件。

  2. 由应用程序安装程序生成一个包含数据目录路径的新文件,并将其安装在 Common App Data 文件夹中的某个位置。

你建议我怎么做?

4

1 回答 1

2

如果您专门针对 win32,那么您应该使用Resource Compiler。它允许您在可执行文件本身中包含任意文件,并自动生成引用它们的宏,您可以使用 win32 API 加载它们。用户定义的资源允许您在构建中存储任意 blob。

缺点是它根本不便携,你需要有一些适度的 Microsoft fu 才能让它工作。

于 2012-08-01T06:44:37.583 回答