宁波网站建设接单,招聘桂林网站推广维护建设,网站维护中一般要多长时间,xampp php网站模板文章目录configuremakemake install关于文件 configure 的简单介绍其它命令简介C 语言开发的应用程序的源码包常以
.tar.gz 为扩展名#xff0c;并且这些源码包通常使用 GNU 的 AUTOCONF 和 AUTOMAKE 生成编译配置文件#xff0c;我们拿到这样的软件包后#xff0c;执行下面…
文章目录configuremakemake install关于文件 configure 的简单介绍其它命令简介C 语言开发的应用程序的源码包常以
.tar.gz 为扩展名并且这些源码包通常使用 GNU 的 AUTOCONF 和 AUTOMAKE 生成编译配置文件我们拿到这样的软件包后执行下面的安装三部曲就可以完成安装了。想要了解 AUTOCONF 和 AUTOMAKE 这两个东西到底是干什么的猛戳此链接https://www.zhihu.com/question/22644913
configure
你需要进入到源码包的根目录中再执行这个命令该命令会对你的系统进行编译环境检测并且会生成符合 GNU 规范的文件 Makefile为下一步的编译做准备你可以通过加上参数来对安装进行控制比如代码:
./configure –prefix/usr 说明 执行命令 configure 必须要指明具体的路径该指令文件在源码包的根目录下所以指定相对路径 ./configure 就可以执行了为什么要指定具体的路径因为系统根本不知道你的指令文件在哪里那些不要你指明具体路径就可以直接执行的指令是因为这些指令文件所在目录早已配置到环境变量 PATH 中了但是你下载的源码包的根目录根本不在环境变量 PATH 中所以当然需要你自己指明才行。
–prefix/usr 意思是将该软件安装在 /usr 下面执行文件就会安装在 /usr/bin 而不是默认的 /usr/local/bin)资源文件就会安装在 /usr/share而不是默认的 /usr/local/share。具体可以使用哪些选项你可以通过 ./configure --help 察看详细的帮助说明。
make
这一步就是编译大多数的源代码包要通过这一步进行编译当然有些 perl 或 python 编写的软件需要调用 perl 或 python 来进行编译。如果在 make 过程中出现 error 你就要记下错误代码然后你可以向开发者提交 bugreport一般在 INSTALL 里有提交地址也可能是你的系统少了一些依赖库导致的错误这些需要自己仔细研究错误代码。
比如错误提示
make: *** 没有指明目标并且找不到 Makefile。 停止。问题很明了没有 Makefile怎么办原来是要先 ./configure 一下再执行编译命令 make。
make install
这条命令用来进行安装程序的当然有些软件需要先运行 make check 或 make test 来进行一些检测这一步一般需要你有 root 权限因为要向系统写入文件。安装成功后通常你还可以执行 make clean 删除一些临时文件。
如果用 bin_PROGRAMS 宏的话程序会被安装至 /usr/local/bin 这个目录。
关于文件 configure 的简单介绍
文件 configure 是一个 shell 脚本AUTOCONF 和 AUTOMAKE 就是用来生成文件 configure 的。这个脚本文件可以自动设定源程序以符合各种类 Unix 操作系统的特性并且根据系统变量及环境产生合适的 Makefile 文件或是 C 的头文件(header file)让源代码程序可以很方便地在这些不同的系统上被编译连接。
其它命令简介
make clean清除编译产生的可执行文件及目标文件(object file*.o)。make distclean除了清除可执行文件和目标文件外把 configure 所产生的 Makefile 也清除掉。make dist将程序源代码和相关的档案压缩打包成一个压缩文件以供发布。执行完在目录下会产生一个以 PACKAGE-VERSION.tar.gz 为名称的文件。 PACKAGE 和 VERSION 这两个变量是根据 configure.in 文件中 AM_INIT_AUTOMAKE(PACKAGEVERSION) 的定义。make distcheck和 make dist 类似使用该命令完成压缩后会去检测压缩文件是否正常。也就是说该命令除了会把程序的源代码和相关文件压缩打包成 .tar.gz 文件外还会自动把这个压缩文件解开执行 configure并且进行 make 的动作确认编译无误后会显示这个 .tar.gz 文件可供发布了。