我们有一个项目 (c++),它需要将一个二进制文件包含到共享库中。这是通过引用资源文件中的二进制文件在 Windows 上完成的。在 Linux 上,它可以通过使用 objcopy 来实现,如图所示 here
问题是如何使用 autoconf/automake 将其自动化?存在 Makefile.am 和 configure.ac 文件。这将是一项手动任务吗?
(也许这个问题需要在 unix 堆栈交换站点上?)
最佳答案
您的二进制文件是否有独特的扩展名?如果是这样,请参阅 Suffixes手册章节:
.bin.o:
bin2o -o $@ $<
然后您在 foo_SOURCES
变量中列出 foo.bin
。
如果您没有独特的扩展名,请尝试这样的操作:
foo_SOURCES = foo.c bar.c baz.c
foo_LDADD = foobin$(OBJEXT)
foobin$(OBJEXT): foobin
bin2o -o $@ $<
关于c++ - 使用 autoconf 从二进制文件生成对象 (.o) 的自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6450830/