1.configure是源码什么意思?
2.linux中的./configure
3.configure
4.Linux中源码编译安装程序包括哪些基本步骤?
5.Linux上编译安装和卸载软件(./configure && make && make install )
6.configure和config有什么区别?
configure是什么意思?
configure一词意为配置或设置。在计算机领域,编译configure通常指的源码是设置软件或硬件环境,使其可以正常工作。编译当我们下载、源码安装软件时,编译超级准的源码通常需要进行configure操作,源码根据软件的编译要求进行一些配置,如安装路径、源码语言选择、编译网络设置等等。源码在许多开源软件中,编译configure是源码一个非常重要的过程。当我们从源代码编译软件时,编译configure会根据计算机环境自动生成Makefile等文件,源码设置编译选项并生成可执行文件。相比预编译的软件,通过configure手动编译软件更加灵活、可控,能够充分发挥计算机的性能。
configure在操作系统中也有重要的应用。我们可以通过配置一些系统参数,如磁盘、网络、内存等,景点通app源码来优化操作系统的性能和稳定性。不仅如此,对于服务器等特殊应用场景,configure也能够提供高度的定制化,满足各种需求。总之,configure是计算机领域中一个非常重要的概念,具有广泛的应用价值。
linux中的./configure
答案: 在Linux中,"./configure"是一个用于准备源代码构建过程的脚本命令。该脚本通常用于配置软件包的构建环境,并生成相应的Makefile文件。它是自动构建过程的一个重要部分。 详细解释: 1. "./configure"脚本的作用: * "./configure"脚本主要用于为软件包的编译和安装做好准备。当开发者从一个源代码包安装软件时,通常需要执行一系列步骤来配置系统以正确编译和运行该软件。"configure"脚本就是这一系列步骤中的第一步。 2. 生成Makefile文件: * 通过运行"./configure"脚本,系统会根据当前环境自动设置必要的参数和选项。然后,它会生成一个适用于当前环境的Makefile文件。Makefile是构建软件过程中的关键文件,它定义了编译软件所需的所有步骤和命令。 3. 配置软件包的小海教程网源码构建环境: * 在执行"./configure"脚本时,开发者还可以指定各种选项来配置软件包的特性。这些选项可以影响软件的性能、功能或其他方面。通过命令行参数传递这些选项给"configure"脚本。 4. 注意事项: * 运行"./configure"之前,通常需要确保系统上已安装构建软件所需的所有依赖项和库。此外,有时还需要为脚本提供特定的命令行参数来满足系统要求或自定义配置。一旦"./configure"成功执行并生成了Makefile,就可以继续下一步的编译和安装过程。configure
Configure是一个用于自动化软件编译和安装的工具。它可以帮助程序员在不同的操作系统和平台上编译和安装源代码,以便生成可执行文件和库文件。在编译和安装软件时,通常需要一系列步骤,例如设置编译选项、检查依赖库、生成配置文件等。这些步骤如果手动进行,需要耗费大量时间和精力,很容易出错。而Configure则可以通过读取软件的源代码,自动化这些步骤,简化了软件的qq飞车接力源码编译和安装过程。
Configure的工作原理是根据系统环境和用户设置来生成Makefile文件。Makefile文件是一个包含编译选项和依赖关系的脚本,可以自动化编译和安装软件。在Configure中,用户可以设置编译选项、指定依赖库、设定安装路径等。Configure还支持交互式界面,方便用户进行配置。
通过Configure,软件的编译和安装变得更加简单和可靠。它可以避免手动设置错误,提高编译和安装的效率。同时,Configure的使用也有助于提高软件的可移植性,使得软件可以在不同的操作系统和平台上编译和运行。
总之,Configure是一个非常有用的工具,它可以帮助程序员自动化编译和安装软件,提高编译和安装的效率和可靠性。在软件开发过程中,Configure已经成为一个必不可少的工具。
Linux中源码编译安装程序包括哪些基本步骤?
第一步:创建编译脚本
进入到源码目录 执行 ./configure --prefix=/.../.....(--prefix=后面是想要安装到的目录)
第二部:编译
执行 make
第三部:安装
执行 make install
当然上面这几部都是最基本的步骤,如果想优化编译,礼品公司源码要在./configure 后面加参数,或者configure之后手动修改Makefile文件 如O2(优化等级) FLAGS 等编译参数的修改。
--------------------------------------------------------------------------------------------------------------
以上都是源码包的编译
如果是自己写的C代码 直接 用gcc编译即可。
例如 编译test.c
执行 gcc -o test test.c即可将test.c编译为可执行的文件 test
自己打出来的 要采纳啊!
Linux上编译安装和卸载软件(./configure && make && make install )
在Linux系统上,安装和卸载软件通常遵循"编译-安装"的步骤。首先,从源码开始,执行的命令依次是配置(./configure)、编译(make)和安装(make install)。以下是详细的步骤:
1. 配置阶段:`./configure`命令是关键,它会检查系统环境并生成Makefile,配置文件通常位于源码根目录,包含众多选项。使用`./configure --help`可以看到详细的选项,如`--prefix`用于指定安装路径,如果不设置,默认会分散到如/usr/local/bin、lib等目录。
2. 编译阶段:配置完成后,运行`make`命令进行编译。为了加速,可以使用`make -jN`命令,其中N是并行任务数,但需确保Makefile配置正确且任务数适合机器性能。
3. 安装阶段:编译完成后,`make install`将编译结果和相关文件拷贝到指定路径。若遇到权限问题,可使用`sudo make install`。某些软件可能没有提供make uninstall,此时可以通过查看`install_manifest.txt`文件手动卸载。
4. 卸载阶段:如果有make uninstall,直接运行即可。如果没有,可以通过`cat install_manifest.txt | sudo xargs rm`来逐个删除安装文件。
5. 总结:源码安装的整个过程包括了配置、检查环境并生成Makefile,然后利用Makefile进行编译和安装。对于简单的tar包,直接运行这些命令即可,但对于已打包的rpm或deb包,现代发行版通常提供了包管理器(如apt或yum)以简化安装和依赖管理。
configure和config有什么区别?
configure和config的区别在于它们的用途和功能不同。
首先,configure是一个脚本文件,通常用于编译源代码之前的配置过程。这个文件通常由程序的开发者提供,包含了大量的选项和设置,用于指定编译环境、安装目录、依赖库等。用户可以通过执行configure脚本来生成Makefile文件,该文件用于后续的编译和安装过程。configure脚本的存在,使得用户可以根据自己的需求和环境进行灵活的配置,从而生成符合要求的Makefile文件。
其次,config则是一个配置文件,用于存储程序运行时的各种参数和设置。这个文件通常由程序的用户或管理员创建和修改,包含了程序运行所需的各种配置信息,如数据库连接信息、日志文件路径、网络设置等。程序在运行时会读取config文件,根据其中的配置信息进行相应的操作。config文件的存在,使得用户可以根据自己的需求和环境对程序进行定制化的配置,以满足特定的使用场景。
最后,需要注意的是,虽然configure和config都是配置文件,但它们的用途和功能却截然不同。configure是用于编译前的配置过程,生成Makefile文件;而config则是用于程序运行时的配置,存储程序的各种参数和设置。因此,在使用这两个文件时,需要根据具体的需求和场景进行选择和操作。
例如,在编译一个开源软件时,我们通常需要执行configure脚本来生成Makefile文件,然后再执行make命令进行编译和安装。而在软件运行过程中,我们可能需要修改config文件来调整程序的某些参数或设置,以满足特定的需求。
总之,configure和config虽然都是配置文件,但它们的用途和功能却有所不同。configure主要用于编译前的配置过程,生成Makefile文件;而config则主要用于程序运行时的配置,存储程序的各种参数和设置。在使用这两个文件时,需要根据具体的需求和场景进行选择和操作。
Linux中的Configure选项配置参数详解
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。
与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础的熟悉不能超越哦。
为此我转载了一篇关于Configure选项配置的详细介绍。供大家参考’configure’脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上’–help’ 选项执行’configure’脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的.下面对每一个选项进行简略的介绍:
–cache-file=FILE
‘configure’会在你的系统上测试存在的特性(或者bug!).为了加速随后进行的配置,测试的结果会存储在一个cache file里.当configure一个每个子树里都有’configure’脚本的复杂的源码树时,一个很好的cache file的存在会有很大帮助.
–help
输出帮助信息.即使是有经验的用户也偶尔需要使用使用’–help’选项,因为一个复杂的项目会包含附加的选项.例如,GCC包里的’configure’脚本就包含了允许你控制是否生成和在GCC中使用GNU汇编器的选项.
–no-create
‘configure’中的一个主要函数会制作输出文件.此选项阻止‘configure’生成这个文件.你可以认为这是一种演习(dry run),尽管缓存(cache)仍然被改写了.
–quiet
–silent
当’configure’进行他的测试时,会输出简要的信息来告诉用户正在作什么.这样作是因为’configure’可能会比较慢,没有这种输出的话用户将会被扔在一旁疑惑正在发生什么.使用这两个选项中的任何一个都会把你扔到一旁.(译注:这两句话比较有意思,原文是这样的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)
–version
打印用来产生’configure’脚本的Autoconf的版本号.
–prefix=preFIX(文件安装的位置)
‘–prefix’是最常用的选项.制作出的’Makefile’会查看随此选项传递的参数,当一个包在安装时可以彻底的重新安置他的结构独立部分. 举一个例子,当安装一个包,例如说Emacs,下面的命令将会使Emacs Lisp file被安装到”/opt/gnu/share”:
$ ./configure –prefix=/opt/gnu/share
–exec-prefix=EPREFIX
与’–prefix’选项类似,但是他是用来设置结构倚赖的文件的安装位置.编译好的’emacs’二进制文件就是这样一个文件.如果没有设置这个选项的话,默认使用的选项值将被设为和’–prefix’选项值一样.
–bindir=DIR
指定二进制文件的安装位置.这里的二进制文件定义为可以被用户直接执行的程序.
—sbindir=DIR
指定超级二进制文件的安装位置.这是一些通常只能由超级用户执行的程序.
–libexecdir=DIR(包目录,程序调用)
指定可执行支持文件的安装位置.与二进制文件相反,这些文件从来不直接由用户执行,但是可以被上面提到的二进制文件所执行.
–datadir=DIR
指定通用数据文件的安装位置.
–sysconfdir=DIR(/etc配置文件目录)
指定在单个机器上使用的只读数据的安装位置.
–sharedstatedir=DIR
指定可以在多个机器上共享的可写数据的安装位置.
–localstatedir=DIR
指定只能单机使用的可写数据的安装位置.
–libdir=DIR(库文件目录)
指定库文件的安装位置.
–includedir=DIR
指定C头文件的安装位置.其他语言如C++的头文件也可以使用此选项.
–oldincludedir=DIR
指定为除GCC外编译器安装的C头文件的安装位置.
–infodir=DIR
指定Info格式文档的安装位置.Info是被GNU工程所使用的文档格式.
–mandir=DIR(帮助文档的安装目录)
指定手册页的安装位置.
–srcdir=DIR
这个选项对安装没有作用.他会告诉’configure’源码的位置.一般来说不用指定此选项,因为’configure’脚本一般和源码文件在同一个目录下.
–program-prefix=PREFIX
指定将被加到所安装程序的名字上的前缀.例如,使用’–program-prefix=g’来configure一个名为’tar’的程序将会使安装的程序被命名为’gtar’.当和其他的安装选项一起使用时,这个选项只有当他被`Makefile.in’文件使用时才会工作.
–program-suffix=SUFFIX
指定将被加到所安装程序的名字上的后缀.
–program-transform-name=PROGRAM
这里的PROGRAM是一个sed脚本.当一个程序被安装时,他的名字将经过`sed -e PROGRAM’来产生安装的名字.
–build=BUILD
指定软件包安装的系统平台.如果没有指定,默认值将是’–host’选项的值.
–host=HOST
指定软件运行的系统平台.如果没有指定,将会运行`config.guess’来检测.
–target=GARGET
指定软件面向(target to)的系统平台.这主要在程序语言工具如编译器和汇编器上下文中起作用.如果没有指定,默认将使用’–host’选项的值.
–disable-FEATURE
一些软件包可以选择这个选项来提供为大型选项的编译时配置,例如使用Kerberos认证系统或者一个实验性的编译器最优配置.如果默认是提供这些特性,可以使用’–disable-FEATURE’来禁用它,这里’FEATURE’是特性的名字.例如:
代码如下:
$ ./configure –disable-gui
-enable-FEATURE[=ARG](系统参数配置,在编译时完成)
相反的,一些软件包可能提供了一些默认被禁止的特性,可以使用’–enable-FEATURE’来起用它.这里’FEATURE’是特性的名字.一个特性可能会接受一个可选的参数.例如:
代码如下:
$ ./configure –enable-buffers=
`–enable-FEATURE=no’与上面提到的’–disable-FEATURE’是同义的.
–with-PACKAGE[=ARG]
在自由软件社区里,有使用已有软件包和库的优秀传统.当用’configure’来配置一个源码树时,可以提供其他已经安装的软件包的信息.例如,倚赖于Tcl和Tk的BLT器件工具包.要配置BLT,可能需要给’configure’提供一些关于我们把Tcl和Tk装的何处的信息:
代码如下:
$ ./configure –with-tcl=/usr/local –with-tk=/usr/local
‘–with-PACKAGE=no’与下面将提到的’–without-PACKAGE’是同义的.
–without-PACKAGE
有时候你可能不想让你的软件包与系统已有的软
件包交互.例如,你可能不想让你的新编译器使用GNU ld.通过使用这个选项可以做到这一点:
代码如下:
$ ./configure –without-gnu-ld
–x-includes=DIR
这个选项是’–with-PACKAGE’选项的一个特例.在Autoconf最初被开发出来时,流行使用’configure’来作为Imake 的一个变通方法来制作运行于X的软件.’–x-includes’选项提供了向’configure’脚本指明包含X头文件的目录的方法.
–x-libraries=DIR
类似的,’–x-libraries’选项提供了向’configure’脚本指明包含X库的目录的方法.
在源码树中运行’configure’是不必要的同时也是不好的.一个由’configure’产生的良好的’Makefile’可以构筑源码属于另一棵树的软件包.在一个独立于源码的树中构筑派生的文件的好处是很明显的:派生的文件,如目标文件,会凌乱的散布于源码树.这也使在另一个不同的系统或用不同的配置选项构筑同样的目标文件非常困难.建议使用三棵树:一棵源码树(source tree),一棵构筑树(build tree),一棵安装树(install tree).这里有一个很接近的例子,是使用这种方法来构筑GNU malloc包:
代码如下:
$ gtar zxf mmalloc-1.0.tar.gz
$ mkdir build cd build
$ ../mmalloc-1.0/configure
creating cache ./config.cache
checking for gcc… gcc
checking whether the C compiler (gcc ) works… yes
checking whether the C compiler (gcc ) is a cross-compiler… no
checking whether we are using GNU C… yes
checking whether gcc accepts -g… yes
checking for a BSD compatible install… /usr/bin/install -c
checking host system type… i-pc-linux-gnu
checking build system type… i-pc-linux-gnu
checking for ar… ar
checking for ranlib… ranlib
checking how to run the C preprocessor… gcc -E
checking for unistd.h… yes
checking for getpagesize… yes
checking for working mmap… yes
checking for limits.h… yes
checking for stddef.h… yes
updating cache ../config.cache
creating ./config.status
这样这棵构筑树就被配置了,下面可以继续构筑和安装这个包到默认的位置’/usr/local':
代码如下:
$ make all make install
一个软件包通过编译源代码安装后,如何完全的卸载?
如果原先的source还在的话,很多source的Makefile都有写uninstall规则,直接在Souce里make uninstall就可行,不过碰到无良作者没写的,那一句一句看Makefile里install部分他都干了些什么,然后挨个删除。
如果source没了…..那就一边郁闷吧
到目前为止, 我装的都可以make uninstall…….
(因为总是不小心装错地方, 结果就make uninstallmake clean,然后重新configure……)
linux下源码的安装由哪几个步骤组成?
linux下源码的安装由3个步骤组成:配置(configure)、编译(make)、安装(make install)。其中配置语句“./configure --prefix=/usr/local/test”提示“没有那个文件或目录”,是因为配置指定路径“/usr/local/test”时,没有这样的文件或目录存在。
只需在“./configure --prefix=”语句中放入一个存在的目录路径,重新编译安装即可解决。
以安装hdf5软件为例,具体操作步骤如下:
1、首先从官网下载hdf5,根据自己的要求下载对应的版本:hdf5-1.8.3.tar.gz。
2、然后上传到服务器某个目录下,比如/opt目录。
3、接着解压安装包,输入命令:tar -xvf hdf5-1.8.3.tar.gz。
4、解压后会生成一个目录:hdf5-1.8.3。
5、再输入:cd hdf5-1.8.3/,切换目录到hdf5-1.8.3。
6、最后依次输入以下命令:./configure --prefix=/usr/local/hdf5;make;make check ;make install,等待安装信息输出结束后,即可在Linux中安装成功。