2011-06-23 36 views
4

我們有一個項目(C++),它需要將二進制文件包含到共享庫中。這是通過引用資源文件中的二進制文件在Windows上完成的。在Linux上可以通過使用objcopy來實現,如圖所示here使用autoconf從二進制文件生成對象(.o)的自定義命令

問題是如何使用autoconf/automake自動執行此操作?存在Makefile.am和configure.ac文件。這是一個手動任務嗎?

(也許這個問題必須在unix堆疊交換的網站?)

回答

6

請問您的二進制文件有一個獨特的擴展?如果是這樣,請參見本手冊的Suffixes章:

.bin.o: 
     bin2o -o [email protected] $< 

然後您在您的foo_SOURCES變量列表foo.bin

如果你沒有一個鮮明的擴展,嘗試這樣的事情:

foo_SOURCES = foo.c bar.c baz.c 
foo_LDADD = foobin$(OBJEXT) 

foobin$(OBJEXT): foobin 
     bin2o -o [email protected] $< 
+1

得到成功的治療。謝謝。 對不起,我不能提供答案,因爲我沒有足夠的代表:( – Satpal

+2

)在第二種情況下,您可能希望將'foobin $(OBJEXT)'添加到'CLEANFILES',所以它被'make clean'刪除。 –

相關問題