【问题标题】:Custom command to generate object(.o) from binary file using autoconf使用 autoconf 从二进制文件生成对象(.o)的自定义命令
【发布时间】:2011-09-21 00:07:21
【问题描述】:

我们有一个项目 (c++),它需要在共享库中包含一个二进制文件。这是通过从资源文件中引用二进制文件在 Windows 上完成的。在 Linux 上可以通过使用 objcopy 来实现,如图here

问题是如何使用 autoconf/automake 将其自动化?存在 Makefile.am 和 configure.ac 文件。这将是一项手动任务吗?

(也许这个问题需要在unix堆栈交换站点上?)

【问题讨论】:

    标签: c++ linux autoconf automake objcopy


    【解决方案1】:

    您的二进制文件是否具有独特的扩展名?如果是这样,请参阅手册的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 $@ $<
    

    【讨论】:

    • 这很奏效。谢谢。抱歉不能;因为我没有足够的代表,所以不能投票:(
    • 第二种情况,你可能想把foobin$(OBJEXT)加到CLEANFILES,所以它被make clean删除了。
    猜你喜欢
    • 2018-05-02
    • 2014-07-13
    • 1970-01-01
    • 2020-07-09
    • 2014-01-20
    • 2018-01-07
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多