文档章节

cygwin-autoconf环境搭建

jeffsui
 jeffsui
发布于 2015/02/21 20:35
字数 623
阅读 129
收藏 0
点赞 0
评论 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
粉丝 291
博文 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系统上安装与使用Android NDK r5

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

红薯
2011/06/10
1K
2
windows 下 Objective C++ 编译环境搭建

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

晨曦之光
2012/03/09
242
0
Android之NDK开发

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

豆花饭烧土豆
2016/03/22
73
1
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
win7下搭建appium开发环境上遇到的问题

原本以为搭建appium环境很简单,跟随网上教程即可,后来发现,一个个问题接迥而至,浪费了很多时间,在这里记录下(具体安装教程百度很多,笔者就不参合了),在搭建过程中遇到的问题,如有同...

ggping66
2017/04/09
0
0
windows redis 集群搭建(一)

本文第一篇主要介绍redis在windows平台下的编译。 一、下载cygwin cygwin是windows平台上的posix系统模拟环境,具体的版本,请根据自己当前系统的版本来,我的系统是windows7 64位。 点击下载...

wier
2014/12/30
0
21
Android NDK 原理

本文介绍Android NDK 原理, 熟悉此教程, 需要有JNI的基础, 以及Android 应用程序的入门知识(环境搭建, 工程运行等), 可以查看本站的其它文章. 本文关注Android NDK的原理知识. 关于JNI的基本...

晨曦之光
2012/03/07
449
0
Android NDK 原理

本文介绍Android NDK 原理, 熟悉此教程, 需要有JNI的基础, 以及Android 应用程序的入门知识(环境搭建, 工程运行等), 可以查看本站的其它文章. 本文关注Android NDK的原理知识. 关于JNI的基本...

晨曦之光
2012/03/09
363
0
hadoop window 搭建

hadoop 原理参考:用 Hadoop 进行分布式并行编程 官方中文文档:http://hadoop.apache.org/core/docs/r0.18.2/cn/index.html 1. 首先安装 cygwin ssh 参考 windows ssh 搭建 2. 搭建hadoop ...

walb呀
2017/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

微信分享的细节

分享的缩略图要求: 一、图片大小小于32k 二、图片的尺寸为 宽度 :128px 高度:128px 分享title 和 description 出现金额等 以上情况存在会导致触发分享按钮 但是页面没有反应...

Js_Mei
3分钟前
0
0
【2018.07.23学习笔记】【linux高级知识 Shell脚本编程练习】

1、编写shell脚本,计算1-100的和; #!/bin/bashsum=0for i in `seq 1 100`do sum=$[$sum+$i]doneecho $sum 2、编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求...

lgsxp
6分钟前
0
0
xss攻防浅谈

导读 XSS (Cross-Site Script) 攻击又叫跨站脚本攻击, 本质是一种注入攻击. 其原理, 简单的说就是利用各种手段把恶意代码添加到网页中, 并让受害者执行这段脚本. XSS能做用户使用浏览器能做的...

吴伟祥
6分钟前
0
0
js回调的一次应用

function hideBtn(option) { if (option == 1) { $("#addBtn").hide(); $("#addSonBtn").hide(); }}$("body").on("click", "#selectBtn", function () {......

晨猫
12分钟前
0
0
C++_读写ini配置文件

1.WritePrivateProfileString:

一个小妞
12分钟前
0
0
通往阿里,BAT的50+经典Java面试题及答案解析(上)

Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改。 代码复用。 增强代码的可靠性和灵活性。 增加代码的可理解性...

Java大蜗牛
12分钟前
0
0
数据库两大神器【索引和锁】

前言 只有光头才能变强 索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。 本文力求简单讲清每个知识点,希望大家看完能有所收获 声明:如果没有说明具体的数据库...

Java3y
16分钟前
0
0
Application Express安装

Application Express安装文档 数据库选择和安装 数据库选择 Oracle建议直接12.2.0.1.0及以上的版本,12.1存在20618595bug(具体可参见官方文档) Oracle 12c 中安装oracle application expr...

youfen
28分钟前
0
0
OpenMessaging概览

序 本文主要研究一下OpenMessaging 架构图 namespace,类似cgroup的namespace,用来进行安全隔离,每个namespace有自己的producer、consumer、topic、queue等 producer,消息生产者有两类,一...

go4it
33分钟前
0
0
MySQL索引类型

MySQL目前主要有以下几种索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 https://www.cnblogs.com/luyucheng/p/6289714.html...

灯下草虫鸣_
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部