c++ - 使用 autoconf 从二进制文件生成对象 (.o) 的自定义命令

标签 c++ linux autoconf automake objcopy

我们有一个项目 (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/

相关文章:

linux - 在 Kali (Debian) 中安装 mono-devel 时,软件包具有未满足的依赖关系

linux - 在EC2上运行大数据集,担心存储

c - 将我的程序的 stderr 重定向到 config.log

c++ - 在 CodeBlocks C++ 中发现 '>' 标记之前的意外主表达式

c++ - 运算符重载枚举类

c++ - 为什么不能为显式模板特化指定默认参数?

c++ - 无法使 automake 使用 C++11

C++:如何用两个括号创建一个对象(类)。对于前点 obj1((2,2),(3,8))

linux - 在多个 Git 存储库之间共享 .mailmap 或其他顶级文件,跨平台

autoconf - 是否有一种使用 autoconf 检查命名可执行文件的标准方法