【发布时间】:2011-03-16 13:00:31
【问题描述】:
我们有一个在嵌入式 oOS 上运行的程序。我们通常在输出二进制文件中嵌入一个版本字符串,它可以识别生成二进制文件时包含的所有版本。通常我们使用的编译器可以通过创建一个“未定义”符号来确保版本字符串在二进制文件中,然后由我们的版本字符串解析。
但是,我们现在已经转移到基于 Linux 的系统和 gcc。
gcc 正在从最终的 exe 中删除版本字符串。最终的 exe 是通过在一堆库中的链接创建的。每个库都嵌入了一个版本字符串。
gcc 正在删除版本字符串,因为没有任何内容引用该字符串,并且我们已打开 -Os 优化。
有没有办法确保 gcc 不会删除字符串集合(我们需要嵌入大约 5-10 个版本的字符串)?
谢谢。
【问题讨论】:
标签: gcc linker makefile versioning