文档章节

cygwin-autoconf环境搭建

jeffsui
 jeffsui
发布于 2015/02/21 20:35
字数 623
阅读 140
收藏 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

粉丝 292
博文 265
码字总数 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 下 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
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

没有更多内容

加载失败,请刷新页面

加载更多

arts-week10

Algorithm 905. Sort Array By Parity - LeetCode Review Who’s Afraid of the Big Bad Preloader? 一文读懂前端缓存 一个网络请求3个步骤:请求,处理,响应,而前端缓存主要在请求处响应这两步...

yysue
49分钟前
0
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
126
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部