C Windows上的数据目录
编写游戏时,您总是添加一些数据(图像、声音等)。在类Unix系统上,我通常将它们安装到${PREFIX}/share/项目/数据中,其中${PREFIX}可能由生成系统(如CMake或autotools)控制 在这种情况下,直接使用构建系统自动生成的一些#define设置数据目录很容易 在Windows上,我完全不知道如何找到数据目录,因为应用程序安装程序总是询问项目的安装位置,而且代码已经编译好,因此无法通过一些#define来控制 对于这个问题,我有两个想法:C Windows上的数据目录,c,installation,C,Installation,编写游戏时,您总是添加一些数据(图像、声音等)。在类Unix系统上,我通常将它们安装到${PREFIX}/share/项目/数据中,其中${PREFIX}可能由生成系统(如CMake或autotools)控制 在这种情况下,直接使用构建系统自动生成的一些#define设置数据目录很容易 在Windows上,我完全不知道如何找到数据目录,因为应用程序安装程序总是询问项目的安装位置,而且代码已经编译好,因此无法通过一些#define来控制 对于这个问题,我有两个想法: 使用启动二进制文件的.bat脚
您建议我怎么做?如果您专门针对win32,那么您应该使用。 它允许您在可执行文件本身中包含任意文件,并自动生成引用这些文件的宏,您可以使用win32 API加载它们。允许您在生成中存储任意blob
缺点是它根本不是可移植的,为了使它正常工作,你需要有一个中等的微软FU。使用注册表,大多数安装程序应该让你创建密钥。你有没有考虑安装一个安装程序?通过使用安装程序,您可以让用户选择复制软件文件的路径。您可以将用户选择的此路径存储在windows注册表中,以备将来使用。