linux automake 交叉编译
.
├── 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需要的源文件。注意将库名称中的'.'号改成'_'号。
运行
automake --add-missing。
./configure
make
交叉编译
./configure --host=arm-linux CPPFLAGS="-I/usr/local/include" LDFLAGS="-lrt -lpthread -lm -ldl /root/code/auto/arm/opencv/lib/libopencv_objdetect.so"
make
#CPPFLAGS include的设置
#LDFLAGS lib的设置
linux automake 交叉编译的更多相关文章
- 关于Linux的交叉编译环境配置中的问题
Linux的交叉编译arm-linux-gcc搭建时,安装结束却无法查看版本.输入以下命令查看Ubuntu的版本: uname -a 可以看到此Ubuntu为64位16.04.1版本,所以需要下载32 ...
- Zedboard学习(二):zedboard的Linux下交叉编译环境搭建 标签: 交叉编译linuxzedboard 2017-07-04 23:49 19人阅读
环境准备 首先肯定是要下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin文件,这是官方提供的linux下交叉编译链安装文件,下载地址为:https://p ...
- Linux的交叉编译 及configure配置
这两天需要把一个CDVS的工程代码从Linux 平台上移植到ARM平台上,花了两天才搞定,之前很早申请的博客,到现在还没有技术文章会,以后决定凡是花两三天才搞定的东西都会把解决过程发到这里,很多东西靠 ...
- Linux嵌入式交叉编译环境 的搭建【转】
转自:http://blog.csdn.net/woaixiaozhe/article/details/7395435 1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下 ...
- linux automake使用
一篇文章: 一.Makefile介绍 Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有 ...
- Linux下交叉编译gdb和gdbserver
平台:tq2440 GCC: gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176) 这里过程中参考了下面两篇博文: http://blog.csdn.ne ...
- mac上编译 arm linux gnueabi交叉编译工具链toolchain
crosstool-ng 编译和安装 交叉编译工具下载: git clone git@github.com:secularbird/crosstool-ng.git 切换到mac编译分支 git ...
- Linux ARM交叉编译工具链制作过程【转】
本文转载自:http://www.cnblogs.com/Charles-Zhang-Blog/archive/2013/02/21/2920999.html 一.下载源文件 源代码文件及其版本与下载 ...
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
交叉编译gdb和gdbserver 1.下载gdb:下载地址为:http://ftp.gnu.org/gnu/gdb/按照一般的想法,最新版本越好,因此下载7.2这个版本.当然,凡事无绝对.我们以gd ...
随机推荐
- 易普优APS应用案例:线束行业生产计划排产
一.线束行业生产现状 (1)产品种类以及标准繁多,生产计划难协调 线束行业的生产,虽然原材料不多,但线束产品却多达几万种.一般线束企业,虽然不是每个月都生产数万种产品,但每月生产的产品品种在300种以 ...
- LoadRunner监控Linux的三种方法
方法一.LR + SiteScope/nmon 方法二.使用rstatd包 1.下载rpc.rstatd-4.0.1.tar.gz 2.解压缩 tar -zxvf rpc.rstatd-4.0.1.t ...
- Numpy存取文件
来自 Python科学计算 http://hyry.dip.jp/tech/book/page/scipy/numpy_file.html NumPy提供了多种存取数组内容的文件操作函数.保存数组数据 ...
- Xpath,XQuery,DTD
一.Xpath XPath 是一门在 XML 文档中查找信息的语言;XPath 是 XSLT 中的主要元素.XPath是W3C标准.1.七种类型节点:元素.属性.文本.命名空间.处理指令.注释.文档节 ...
- fastadmin: layer.open 弹出层如何在表单提交之后自动关闭?
需要在控制器对应的js文件中添加 Form.api.bindevent($("form[role=form]")); define(['jquery', 'bootstrap' ...
- 洛谷P2408 不同字串个数 [后缀数组]
题目传送门 不同字串个数 题目背景 因为NOI被虐傻了,蒟蒻的YJQ准备来学习一下字符串,于是它碰到了这样一道题: 题目描述 给你一个长为N的字符串,求不同的子串的个数 我们定义两个子串不同,当且仅当 ...
- 洛谷P4139 上帝与集合的正确用法 [扩展欧拉定理]
题目传送门 上帝与集合的正确用法 题目描述 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”. ...
- Qt Installer Framework实战
Qt Installer Framework是Qt发布的安装程序支持框架,只需要简单的配置就可以生成安装文件,同时可以通过javascript脚本来定制安装过程. 目录结构 config packag ...
- TCP/IP——IP网络协议简记
IP提供不可靠.无连接的数据报传送服务 不可靠:不保证IP数据报能成功到达目的地,当发生错误时,IP的做法是丢弃这个数据报,然后发送ICMP消息报给信息源. 无连接:IP不维护任何关于后续数据报的状态 ...
- Python开发基础-Day32 进程间通信、进程池、协程
进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的. 进程队列queue 不同于线程queue,进程 ...