文档章节

cygwin-autoconf环境搭建

jeffsui
 jeffsui
发布于 2015/02/21 20:35
字数 623
阅读 152
收藏 0

#autoconf、automake简介 请参考之前的博文 Linux下autoconf和automake使用

#autoconf安装

选择autoconf

#遇到的问题 *Can't locate Autom4te/ChannelDefs.pm in @INC 解决方法:重装autoconf

*Can’t locate ExtUtils/MakeMaker.pm in @INC 解决方法:安装CPAN <code><pre> cd /root wget http://files.directadmin.com/services/9.0/ExtUtils-MakeMaker-6.31.tar.gz tar xvzf ExtUtils-MakeMaker-6.31.tar.gz cd ExtUtils-MakeMaker-6.31 perl Makefile.PL make make install </code></pre>

*-bash: make: 未找到命令 解决方法:默认cygwin未安装make,选择package的时候,下面可以看到Devel(开发)目录,展开,选择make那些即可

#autoconf、automake简单使用

1.建立一个工程目录结构

devel |-- hello |-- hello.c

2.编写hello.c

<code><pre> #include <stdio.h> int main(int argc,char** argv) { printf("Hello,GNU!n"); return 0; } </code></pre> 3.建立完毕 <code><pre> Administrator@jeff-PC /cygdrive/d/code/bash_script/devel/hello $ ls autoscan-2.69.log configure.scan hello.c </code></pre>

4.执行autoscan命令、ls命令

autoconf ls 显示如下: <code><pre> Administrator@jeff-PC /cygdrive/d/code/bash_script/devel/hello $ ls autoscan-2.69.log configure.scan hello.c Makefile.am </code></pre>

5.重命名configure.scan为__configure.ac__

6.修改configure.in文件如下 <code><pre> # Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69]) AC_INIT(hello.c) AM_INIT_AUTOMAKE(hello, 1.0, [pinghailinfeng79@gmail.com])

# Checks for programs. AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_CONFIG_FILES([Makefile]) AC_OUTPUT(Makefile) </code></pre>

7.执行下面的命令 aclocal autoconf ls <code><pre> autom4te.cache configure configure.in~ Makefile.am autoscan-2.69.log configure.ac hello.c </code></pre> 8.执行autoheader ls <code><pre> autom4te.cache config.h.in configure.ac hello.c autoscan-2.69.log configure configure.in~ Makefile.am </code></pre> 9.建立Makefile.am <code><pre> AUTOMAKE_OPTIONS=foreign bin_PROGRAMS= hello hello_SOURCES= hello.c </code></pre>

10.执行下面的命令 automake --add-missing

命令行提示: <code><pre> configure.ac: error: no proper invocation of AM_INIT_AUTOMAKE was found. configure.ac: You should verify that configure.ac invokes AM_INIT_AUTOMAKE, configure.ac: that aclocal.m4 is present in the top-level directory, configure.ac: and that aclocal.m4 was recently regenerated (using aclocal) Makefile.am: installing './depcomp' /usr/share/automake-1.14/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL /usr/share/automake-1.14/am/depend2.am: The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC' /usr/share/automake-1.14/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again /usr/share/automake-1.14/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL /usr/share/automake-1.14/am/depend2.am: The usual way to define 'AMDEP' is to add one of the compiler tests /usr/share/automake-1.14/am/depend2.am: AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX, /usr/share/automake-1.14/am/depend2.am: AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC /usr/share/automake-1.14/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again </code></pre>

11.执行./configure <code><pre> checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.exe checking for suffix of executables... .exe checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed configure: creating ./config.status config.status: creating Makefile config.status: creating config.h </code></pre>

12.执行make 最终出现hello字样,编译成功

13.执行./hello hello GNU!

这算是automake的入门教程,遇到的问题已经在前面说明了。顺便祝大家春节快乐!

© 著作权归作者所有

共有 人打赏支持
jeffsui

jeffsui

粉丝 294
博文 266
码字总数 73809
作品 0
大连
QA/测试工程师
私信 提问
android NDK总结及注意事项(android ndk+jni初步)

最近几天看了有关android NDK方面的开发博客,相对此对一下总结: 实验平台: 操作系统:win7 开发环境:Eclipse+ADT+AVD+JDK1.6+Cygwin+android NDK1.6r1 android开发环境的搭建,可以参考[...

长平狐
2012/10/08
989
0
windows系统上安装与使用Android NDK r5

很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单的android应用. 一:什么是NDK? NDK 提供了一系列的工具,帮助...

红薯
2011/06/10
1K
2
Android之NDK开发

一、NDK产生的背景   Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于 Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同...

豆花饭烧土豆
2016/03/22
73
1
windows 下 Objective C++ 编译环境搭建

【摘要】 介绍Objective C++ 在windows 环境下的搭建知识. 注意, 本文的目的只是为了搭建一套学习语言的环境, 而非发布一个AppStore的应用. 如果要发布应用, Windows平台似乎无能为力, 因此如...

晨曦之光
2012/03/09
242
0
Android NDK学习笔记---NDK例子hello-jni

使用NDK要在Linux环境进行交叉编译,可以使用cygwin搭建Unix环境。cygwin搭建以及NDK的配置方法可参见这篇博文 http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一、用N...

yuewawa
2016/03/17
15
0

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
1
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部