作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了.
在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定。 有时候我就在想,这个configure,make ,make install是什么意思呢,configure是测试存在的特性,然后make开始编译,make install生成相应的可执行文件。但是一个工具只是记住了其中的拼写部分或是基本的概念,但是对于原理知之甚少,也是需要补补了。 几个构建编译隐藏的命令 要先说这个编译安装过程,使用命令ac
在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定。
Linux中的configure/make/make install 到底在做些什么
一样新的东西的由来,往往因为之前的东西用的很不爽,然后更具弊端创造出更加容易使用的东西,比如在大型的项目中,如Linux,他是通过Makefile的方式进行编译。但是,Makefile复杂的语法结构,难于让人领会。在一个很大的项目中,维护Makefile是一个非常头疼的烦恼事。于是一个新的产物Autotools就出来了,他用来生成复杂的Makefile,很大程度降低了我们的开发难度。
编译的时候报错,解决方法如下 第一步 : autoscan 用 autoscan 产生一个 configure.in 的原型,执行autoscan 后会产生一个configure.scan 的文件,可以用它作为 configure.in文件的蓝本。 第二步: aclocal autoconf 执行 aclocal 和 autoconf ,分別会产生 aclocal.m4 及 configure 两个文件 然后执行: automake –add-missing 最后执行: ./configure
王通老师在他的 "基因学苑" 公众号,发表过一篇《命令行的“迅雷”,提升百倍以上下载速率》的文章,给我们简单介绍了 axel 这个命令行下多线程下载的利器。本公众号也有幸转载过,但在实际使用中 axel 还是有几点不为人知小秘密,今天来聊一下。
扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形;
Makefile的 基本结构不是 很复杂,但当一个程序开发人员开始写Makefile时,经常会怀疑自己写的 是 否符合惯例,而且自己写的 Makefile经常和自己的 开发环境相关联,当系统环境变量或路径发生了变化后,Makefile可能还要跟着修改.这样就造成了手工书写Makefile的 诸多问题,automake恰好能很好地帮助我们解决这些问题. 使用automake,程序开发人员只需要写一些简单的 含有预定义宏的 文件,由autoconf根据一个宏文件生成configure,由automake根据另一个宏文件生成Makefile.in,再使用configure依据Makefile.in来生成一个符合惯例的 Makefile.下面我们将详细介绍Makefile的 automake生成方法.
.ibtoolize: AC_CONFIG_MACRO_DIR([./aclocal]) conflicts with ACLOCAL_AMFLAGS=-I ./aclocal 执行libtoolize遇到上面提示的错误时,可能是因为configure.ac和Makefile.am文件是dos格式导致的,使用dos2unix转换一下后再执行,问题可能就解决了。 如果是在windows上使用git,建议设置不转换文件格式: git config --global core.autocrlf false git config --global core.safecrlf true git config --global core.eol lf 或者手工直接编辑.gitconfig文件,该文件位于用户主目录下,如果为Windows7,用户名为zhangsan,则为:C:\Users\zhangsan\.gitconfig
在Linux下,编译和链接需要用Makefile,而写好一个Makefile可不容易,写出一个规范的Makefile更是麻烦。我们可以利用autoconf来生成一个Makefile,尤其在大型工程里,能省去很多麻烦。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147504.html原文链接:https://javaforall.cn
在提示给出的网址中下载automake软件包,依次 ./configure make make install后,错误消失。
编译Qconf git clone https://github.com/Qihoo360/QConf.gitcd Qconf//注意如果不是root永恒,可能需要使用sudo权限mkdir build && cd build// 默认安装在/usr/local/qconf目录,后面的命令指定安装目录cmake .. 或者 cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix make make install//如果出错,也就下面几个错误了sudo ln -s
ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz Reusable-Cluster-Components-glue--glue-1.0.9.tar.bz2 Heartbeat-3-0-7e3a82377fa8.tar.bz2
虽然因为llvm的出现,开源工具链又开始慢慢进化了,但是很多项目还是需要autotools自动gen configure的,但是我每次命令都记不全,还是记一下吧 1 2 3 4 5 6 7 8 9 10 11 #!/bin/bash echo "Running aclocal..." aclocal || exit 1 echo "Running autoheader..." autoheader || exit 1 echo "Running autoconf..." autoconf || exit
(adsbygoogle = window.adsbygoogle || []).push({});
automake工具会根据config.in中的参量把Makefile.am转换成Makefile.in文件。在使用Automake之前,要先手动建立Makefile.am文件。 Makefile.am的内容如下:
本系列文章均翻译自Autoconf官方文档:Autoconf Manual,github同步项目:question
Autoconf是一个用于生成shell脚本的工具,可以自动配置软件源代码以适应多种类似POSIX的系统。为了让你的软件包在所有的不同系统上都可以进行编译。
Murray Cumming <murrayc@usa.net> Chen Chih-Chia <pigfoot@CDPA.nsysu.edu.tw>
文章作者:Tyan 博客:noahsnail.com | CSDN | 简书
如果工程的源码量比较大,文件比较多,那么通过AutoMake管理工程绝对是一个好的选择。下面展示如何一步一步创建属于自己的AutoMake工程
① 视频数据回顾 : 手机使用 Camera 采集 NV21 格式的图像数据 , x264 编码库将图像数据编码成 H.264 格式的视频数据 ;
这个包据说是开源的OCR中非常好用的一个,在图像识别的领域里,tesseract-ocr引擎曾是1995年UNLV准确度测试中最顶尖的三个引擎之一。在1995年到2006年期间,它几乎没有什么改动,但是它可能仍然是现在最准确的开源OCR引擎之一。它会读取二进制的灰度或者彩色的图像,并输出文字。一个内建的tiff阅读器让它可以读取未压缩的TIFF图像,但是如果要读取压缩过的TIFF图像,它还需要一个附加的libtiff库。
虽然现在cmake,qmake 或者 ide的功能越来越强大,也越来越简洁。但是在日常使用中,庞大的开源库,autoconfig 还是占据大半壁江山。
一,安装ntop 在官网获得最新源码包 wget http://cdnetworks-kr-2.dl.sourceforge.net/project/ntop/ntop/ntop-4.0.1/ntop-4.0.1.tar.gz 安装环境如下 Quick Instructions ================== 1. Get and install mandatory packages/tools These instructions assume your system is already provided with the normal source compile tools. Most are gnu packages, available through http://www.gnu.org or your favorite prebuilt package source. Using their RedHat package names, these are: - glibc, glibc-devel, gcc, cpp - Some version of awk - libtool (1.4+) Note that there are reports of success with libtool 1.3.x under FreeBSD so the script allows this. - m4 - autoconf (2.53+) - automake (1.6+) - gdbm, gdbm-devel - libpcap (http://www.tcpdump.org) - librrdtool 1b. Optional packages - openssl, openssl-devel (http://www.openssl.org) - zlib, zlib-devel 2. Build ntop - cd ntop - ./autogen.sh - make - make install 如果./autoen.sh后make时报错过不去 错误一 checking for GeoIP_record_by_ipnum in -lGeoIP... no Please install GeoIP (http://www.maxmind.com/) 解决方法: wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz tar xzvf it ./configure it make it make install it 错误二 If you run into problems, you can ALWAYS recreate the generated files via this procedure: rm -f acinclude.m4 aclocal.m4 Makefile.in config.h.in configure Makefile find current versions of libtool, config.guess and config.sub and cp them into your working directory. cat acinclude.m4.ntop libtool.m4.in > acinclude.m4 aclocal autoheader autoconf automake --gnu --copy --add-missing and then: ./configure ... make make install as usual. 二,安装后调试 1,设置ntop # chown -R nobody /usr/local/var/ntop 安全 # ntop -A设置密码 # ntop -i eth0 -d -l echo " ntop -i eth0 -d -l " >>/etc/rc.local >& /dev/null开机启动 http://ip:3000测试 2,配置文件中加入插件 在cacti官网上下载ntop插件 wget http://docs.cact
首先download下来mpv的代码 git clone https://github.com/mpv-player/mpv.git 然后安装ffmpeg,ffmpeg相关的编译方法在bbs.chinaffmpeg.com中可以找到 mpv代码down下来以后,可以看到目录结构如下
ubuntu 上 mysql-devel 库的名字叫 libmysqld-dev,先下载安装
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
在编译安装 openvpn 项目时遇到,其编译过程如下:生成 configure 可执行文件 make && make install ;
linux环境下,当项目工程很大的时候,编译的过程很复杂,所以需要使用make工具,自动进行编译安装,但是手写makefile文件比较复杂,所幸在GNU的计划中,设计出了一种叫做Autoconf/Automake的工具,用来自动生成makefile文件,为编译和安装程序提供了一个方便快捷的入口。
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
最近一段时间不是很忙,就写了一个自己的游戏服务器框架雏形,很多地方还不够完善,但是基本上也算是能够跑起来了。我先从上层结构说起,一直到实现细节吧,想起什么就写什么。 第一部分 服务器逻辑 服务
Github: https://github.com/ggreer/the_silver_searcher
源码安装:配置(configure)、编译(make)、安装(make install),所有操作中间错误可以忽略,最后段末尾统一报错。 ####1.配置 configure:生成Makefile的shell脚本 文件结构如下: <文件夹> |-configure.in |-Makefile.am |-acconfig.h |-<源码文件> |-tt.c |-qq.c |-qq.h |-Makefile.am 其中configure.in作为./configure的配置输入;makefile.am通过automake生成makefile.in再由./configure生成makefile;acconfig.h由autoheader生成config.h.in再由./configure生成config.h configure.h使用autoconf和automake命令的shell脚本,可以通过autoscan自动生成或手写 acconfig.h包含了configure.in中未定义的宏 autoscan–>autoheader–>aclocal–>automake|autoconf
If you get the following error when compiling GD 2.0.34 or higher:
主要参考了两篇文章,使用的安装版本为 coreseek-4.1-beta.tar 文章一,原地址为:http://zhan.renren.com/itbegin?gid=360288849803348
相关包的下载网址:http://www.netfilter.org/projects/iptables/downloads.html
解压安装 解压安装命令 使用下列命令进行解压安装 tar -zxvf sqlite-autoconf-3110100.tar.gz cd sqlite-autoconf-3110100 ./configure --prefix=/usr/local/sqlite3.11 make make install 详细安装过程 [root@h102 sqlite]# tar -zxvf sqlite-autoconf-3110100.tar.gz sqlite-autoconf-3110100/ sqlite-
在官网可以找到curl的多个版本,http://curl.haxx.se/download/
Rfam是用来鉴定non-coding RNAs的数据库,常用于注释新的核酸序列或者基因组序列。 最新版本的Rfam (12.2),包含2588个RNA家族,其在线网站提供了便捷的查询使用功能,http://rfam.xfam.org/,尤其是对小批量数据。 对已经注释好的物种,建议在ENSEMBLE或UCSC直接下载官方的注释文件,直接下载GTF或使用bioMart或TableBrowser都可。具体可在本博客或微信公众号后台回复关键字获取使用方法。 最后确定要在本地使用了,如果是用之前的版本,请在线搜索
创建名为 my-310-python 的虚拟目录,并且其中加载 Python 3.10.0 。
以前为ARM64编译软件包,直接在Makefile里指定交叉编译器、sysroot的路径,就能成功编译。
make install会把redis.so放在 /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 中
安装snort-2.9.7.6 [root@h101 snort]# tar -zxvf snort-2.9.7.6.tar.gz snort-2.9.7.6/ snort-2.9.7.6/depcomp snort-2.9.7.6/tools/ snort-2.9.7.6/tools/u2streamer/ snort-2.9.7.6/tools/u2streamer/sf_error.h snort-2.9.7.6/tools/u2streamer/sf_error.c snort-2.9.7.6/t
尝试通过源码自己编译 Python,使用的系统是 Ubuntu14.04 LTS。
领取专属 10元无门槛券
手把手带您无忧上云