有没有一种简单的方法将图像添加到.exe文件中?

时间:2013-01-19 21:04:19

标签: c++

我正在用c ++开发一款游戏,这是我第一次向别人展示我的作品。

我遇到了一个问题,我无法找到如何使用里面所需的图像完成我的.exe文件。我已经阅读了一些网站,讨论如何做到这一点,但没有任何网站能够完成所有步骤。

如果有人有任何关于如何做到这一点的可靠资源,我将非常感激。

编辑:使用Windows 7 64位

2 个答案:

答案 0 :(得分:4)

通常图像不是嵌入在二进制文件中,因为从性能的角度来看这是毫无意义的(为什么要将单个图像的数百万字节数据嵌入到二进制文件中?强制将所有数据加载到一起可执行文件?)。

通常做的是拥有一个资源文件夹,通常是相对于exe工作目录,这样你的二进制文件就可以直接从磁盘(或者你使用的任何设备)加载它们。

当您分发游戏时,您只需通过维护相同的文件夹结构来附加所有内容。

根据您正在使用的技术,您所提出的可能是可能的,但我没有看到这样做的重点。

答案 1 :(得分:1)

您应该查看链接器的文档,或至少询问指定您使用哪个链接器的问题 - 它是 作业。

例如,这在某些方面对我有用:

脚本:

ld -r -b binary monster_die.wav -o monster_die.o
(link monster_die.o eventually into the executable)

sfx.h:

extern char binary_monster_die_wav_start;
extern char binary_monster_die_wav_end;
static const char* monster_die_wav = &binary_monster_die_wav_start;
static const size_t monster_die_wav_size =
    &binary_monster_die_wav_end - &binary_monster_die_wav_start;