码迷,mamicode.com
首页 > 系统相关 > 详细

linux automake 交叉编译

时间:2014-11-18 13:27:15      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   os   使用   sp   for   

.
├── aclocal.m4
├── autoscan.log
├── config.log
├── config.status
├── configure
├── configure.in
├── Makefile
├── Makefile.am
├── Makefile.in
└── src
     ├── face
     │   ├── face.cpp
     │   ├── face.h
     │   ├── face.o
     │   ├── libface.a
     │   ├── Makefile
     │   ├── Makefile.am
     │   └── Makefile.in
     ├── main.cpp
     ├── main.o
     ├── Makefile
     ├── Makefile.am
     └── Makefile.in

  configure.in

AC_PREREQ([2.65])
AC_INIT(main,1.0)
AC_CONFIG_SRCDIR([src/main.cpp])
#AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_RANLIB       #使用了静态库编译,需要此宏定义
# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT(Makefile src/Makefile src/face/Makefile) 

  Makefile.am

AUTOMAKE_OPTIONS=foreign
SUBDIRS=src   #本目录的直接下级目录src需要编译
#EXTRA_DIST=doc/userguide #doc/userguide不需要编译,但要发布该文件。如果有多个文件,则用空格分开。

  src/Makefile.am

AUTOMAKE_OPTIONS=foreign
SUBDIRS=face #本目录的直接下级目录face需要编译
bin_PROGRAMS=main #本目录的文件编译成可执行文件hello。如有多个,用空格分开。然后在下面分别写它们的SOURCE和LDADD。
main_SOURCES=main.cpp #编译hello需要的源文件列表,如有多个,用空格分开。
main_LDADD=face/libface.a #编译hello需要的库文件列表。如有多个,用空格分开。

  src/face/Makefile.am

AUTOMAKE_OPTIONS=foreign
noinst_LIBRARIES=libface.a   #本目录下的代码编译成libhello.a库。不需要发布。如果需要发布,则写成bin_LIBRARIES。注意,库的名称格式必需为 libxxx.a。因为编译静态库,configure.in需要定义AC_PROG_RANLIB宏。
libface_a_SOURCES=face.h face.cpp #编译libhello.a需要的源文件。注意将库名称中的‘.‘号改成‘_‘号。 

  

 


交叉编译

./configure --host=arm-linux

make

linux automake 交叉编译

标签:style   blog   io   color   ar   os   使用   sp   for   

原文地址:http://www.cnblogs.com/ahuo/p/4105475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!