1. 程序的组成部分
Linux下的大多数程序由以下部分组成:
二进制文件:即可以运行的程序文件
库文件:就是我们平时看到的lib目录下的文件。
配置文件: 这个不用说大家都知道
帮助文档:通常是我们在Linux下使用man命令查看的命令的文档
2、Linux下程序的存放目录
Linux程序存放的地方大致有3个:
/etc、/bin、/sbin、/lib:系统启动所需的程序。这些目录不能挂载其他分区,并且必须位于根文件系统分区上。
/usr/bin、/usr/sbin、/usr/lib:操作系统核心功能,可以单独分区
/usr/local/bin、/usr/local/sbin、/usr/local/lib、/usr/local/etc、/usr/local/man:这个用来安装第三方程序,对应二进制文件和分别是库。文件、配置文件和帮助文档的目录
一般来说,我们的安装程序安装在/usr/local目录下。
3.编译并安装源程序
1. 使用以下命令检查当前是否安装了gcc编译器。如果没有,可以先使用yum安装gcc。
gcc -- #检查gcc是否安装
2.解压源码包,例如:
tar -xvf nginx-1.7.7.tar.gz #解压源码包
3.进入解压后的源码包:
cd nginx-1.7.7 #进入源码包
4. 执行文件。该文件有两个作用: 1. 让用户选择编译功能; 2.检查编译环境。执行后会生成文件。例如:
./ --=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf
其中,我们通过--指定安装路径,通过--conf-path指定配置文件的具体位置。注意:并非所有程序参数都相同。您可以使用./ --help 查看详细的参数说明。如果当前系统中没有安装程序所依赖的库,则会导致错误。这种情况下,需要先安装依赖库。
5.执行make命令编译程序
制作
6、编译成功后即可安装。执行以下命令
制作
即使此时程序安装完成,也不要忘记后续的配置。
4、配置程序
1、修改PATH环境变量,标识本程序的二进制文件路径;
修改/etc/文件,添加
PATH=$PATH:/path/to/#记住是可执行文件所在的目录。不要在路径中包含可执行文件。
然后执行:
/etc/#是我们的修改生效
2、系统默认在/lib和/usr/lib路径下搜索库文件;需要添加额外的搜索路径(注意:有些程序不提供库文件,所以不需要此设置)
在/etc/ld.so.conf.d/中创建一个以.conf为后缀的文件,然后将要添加的路径直接写入到该文件中;然后执行以下命令使其生效
3、如果程序提供了库文件,那么也会相应提供头文件。一般情况下,在安装目录下,系统默认的头文件扫描路径为:/usr/。我们可以链接到 /usr/ 下安装程序的头文件。
ln -s /usr/local/nginx/ /usr//
4.也许程序还提供了帮助文档,通常是安装目录下的man目录。为了让我们能够使用 man 命令来查看我们程序的帮助文档,我们需要: 在 /etc/man.conf 中添加一个条目:指向我们的文档目录
/make/make 函数
这些是使用 GNU 和生成的程序的典型安装步骤。
./ 用于检测您的安装平台的目标特性。例如,它会检测您是否有CC或GCC。
它不需要 CC 或 GCC,它是一个 shell 脚本。
make用于编译,它从中读取指令然后编译。
make 用于安装。它还从中读取指令并将其安装到指定位置。
对于发布 C 程序来说非常有用。如果你也写程序,想使用and,可以参考CNGNU.ORG上的相关文章。
1、这一步一般用于生成,为下一步编译做准备。您可以通过在末尾添加参数来控制安装,例如
代码:
./--=/usr
上面的意思是,如果软件安装在/usr下,则可执行文件将安装在/usr/bin下(而不是默认的/usr/local/bin),
资源文件将安装在 /usr/share 中(而不是默认的 /usr/local/share)。
同时还可以通过指定--sys-=参数来设置一些软件的配置文件。
有些软件还可以添加--with、--、--、--等参数来控制编译。
您可以通过允许 ./ --help 查看详细帮助。
2、make,这一步就是编译。大多数源代码包都是通过这一步编译的。
(当然,有些用Perl或Perl编写的软件需要调用Perl或来编译)。
如果make过程中出现错误,需要记下错误代码(注意不只是最后一行),
然后就可以提交给开发者了(一般都有提交地址),
或者你的系统缺少一些依赖库等,需要你自己仔细研究错误码。
make 的作用是开始进行源代码编译,以及一些功能的提供,
这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,
make uninstal 是卸载,不加参数就是默认的进行源代码编译。
make 是 Linux 开发套件里面自动化编译的一个控制程序,
他通过借助 Makefile 里面编写的编译规范(语法很多,类似一个可以运行的脚本程序。
反正我是看不懂,所以你也别问我怎么编写)。进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。
一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
3. make,使用该命令安装(当然有些软件需要先运行make check或者make test
做一些测试),这一步一般需要你有root权限(因为需要向系统写入文件)
Q1:安装原码程序时,必须执行三个步骤:
1./
2 制作
3 制作
它们是什么意思?
您需要使用 gcc 或 cc。
但制作时需要什么?
这些是使用 GNU 和生成的程序的典型安装步骤。
./ 用于检测您的安装平台的目标特性。例如,它会检测您是否有CC或GCC。它不需要 CC 或 GCC。它是一个 shell 脚本。
make用于编译,它从中读取指令然后编译。
make 用于安装。它还从中读取指令并将其安装到指定位置。
对于发布 C 程序来说非常有用。如果你也写程序,想使用and,可以参考CNGNU.ORG上的相关文章。
问题2:
cc 和 gcc 是什么?当我在rh7.3中使用./时,总是说我没有cc,无法安装。我怎样才能抄送?
cc 是 gcc 的链接。 gcc 是编译器。您可能在安装时没有选择开发工具。您可以自行在光盘上搜索gcc*。只需安装它即可。
或者 yum -y “Tools” 自动安装基本开发工具
CC用于定义编译器。设置它是为了方便代码移植,因为不同的平台可能使用不同的编译器。
为了 :
x86 海湾合作委员会
海湾合作委员会-
当我们移植x86下的代码时,只需要将CC=gcc改为CC=gcc-
不需要把所有出现gcc的地方都改成gcc-
Linux CC 和 Linux GCC 之间的差异概述。从名字上看,旧Unix系统的CC程序就叫做C。但是GCC这个名字按照GNU的说法叫做Gnu。因为 gcc 包含许多编译器(C、C++、-C、Ada 和 Java)。所以它们是不同的,一个是古老的C编译器,另一个是Gnu编译器的集合(Gcc中的C编译器比CC强大得多,所以不需要使用CC)。当你调用gcc时,调用的不一定是C/C++编译器。 gcc根据文件扩展名自动识别并调用相应的编译器。详细信息请参考$man gcc。
您无法下载 CC。原因是:CC来自昂贵的Unix系统。 CC是商业软件。要使用它,您需要拨打电话并写订单,而不是打开计算机。
linux下的cc是gcc的符号链接。您可以简单地通过 $ls -l /usr/bin/cc 进行检查。编译过程中看到的控制台输出CC是一个指向gcc的变量。该变量是 make 程序的内置变量,即使其中没有 CC。 = ,这个变量也会存在,并且默认指向gcc。 cc的符号链接和变量存在的意义在于源代码的可移植性。你可以轻松地使用 GCC 来编译用 cc 编译的旧 Unix 软件,甚至无需对其进行更改。它还使得Linux程序在Unix下编译起来更加容易。
近年来的一个新情况是Unix用户越来越多。据我所知,BSD用户不太使用CC。人们必须安装gcc并使用它来编译C/C++程序。原因很明显,gcc足够强大、足够健壮。估计目前只支持新的 ISO c/c++ 功能。当然你最好不要使用gcc的夜间版本。
Q3:
make和make中的标记是系统内置命令还是可执行程序文件? 。 make中,可以认为是mark的一个参数吗? ? ?
它不是make的参数,而是诸如::in()之类的语句。如果使用make,则执行以下语句:
Q4:
./它内置于 Linux 中吗?我make的时候老提示说找不到核心类库。
只需安装 Linux 内核模块即可。 。在linux的第二盘
软件安装方法不是一成不变的。具体步骤请参考提供的说明或
Q5:
它是什么?有什么用呢?如何使用?
它用于自动编译和链接。一个项目由许多文件组成。每个文件的更改都会导致项目重新链接-----但并不是所有文件都需要重新编译。它可以记录文件信息并决定从哪里开始。链接时哪些文件需要重新编译!
在Unix系统下,它与make命令配合使用。
有了这个文件,无论我们何时修改源程序中的任何文件,只要执行make命令,我们的编译器就只会编译与我们修改的文件相关的文件,而不会去理会其他文件。合理的。
扫一扫在手机端查看
-
Tags : 安装包source make编译
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。