linux
linux configure生成什么文件?
一、linux configure生成什么文件?
Linux 命令详解(三)./configure、make、make install 命令
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤
一、基本信息
1、./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
2、make 是用来编译的,它从Makefile中读取指令,然后编译。
3、make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
注意:AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。
二、详细解释
1、configure命令
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。
2、make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
可能遇到的错误:make *** 没有指明目标并且找不到 makefile。 停止。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make。
3、make insatll
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。
三、扩展说明
Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。使用上述三个自动工具,就可以生成configure脚本。运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。
configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。
这时,就可运行configure脚本了,运行configure脚本,就可产生出符合GNU规范的Makefile文件了: $ ./configure
到此时,就可以运行make进行编译,在运行make install进行安装了,最后运行make clean删除临时文件。
$ make
$ make install (注:运行这个要有足够的权限)
$ make clean
利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:
make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。
make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。
make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。
make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。
make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。
make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境-的人去重新编译。
二、linux如何生成日志文件?
"执行step1这个脚本的时候在后边加上>文件名.log这样执行完成后日志就会在log文件里。至于你要的那些内容需要你在脚本里写上
三、linux代码如何生成apk文件?
1、在linux中安装virtualbox,然后安装安卓系统,再安装apk 2、尝试安装shashlink,这个是安卓的一个模拟库,一般来说,支持x86的安卓的apk才可以运行,只支持arm的不能运行。
四、请问linux平台怎么用libisoburn库生成iso文件?
先安装libisoburn库,再创建一个ISO生成程序,我举个例子给你参考一下,注意把文件和目录的路径替换为实际存在的文件和目录,然后ISO映像的生成目标文件是output.iso:
#include <isoburn/isoburn.h>
int main() {
xorriso_t *libisoburn;
int ret = 0;
// 初始化libisoburn库
libisoburn = xorriso_init(NULL);
// 设置ISO映像的文件系统
ret = xorriso_set_image_file(libisoburn, "output.iso");
if (ret == 0) {
// 向ISO映像添加文件和目录
ret = xorriso_add_file(libisoburn, "path/to/file.txt", "/file.txt");
if (ret == 0) {
ret = xorriso_add_tree(libisoburn, "path/to/directory", "/directory");
}
// 写入ISO映像
if (ret == 0) {
ret = xorriso_write_end(libisoburn);
}
}
// 清理并关闭libisoburn库
xorriso_cleanup(libisoburn);
if (ret != 0) {
printf("Failed to generate ISO image.\n");
} else {
printf("ISO image generated successfully.\n");
}
return ret;
}
然后保存上面的代码到一个名为generate_iso.c的文件中,然后编译该程序:
gcc -o generate_iso generate_iso.c -lisoburn
再运行生成的可执行文件:
./generate_iso
没什么问题的话,这样就可以成功生成iso文件。如果你要检查生成的ISO文件,可以用光盘映像工具来检查iso文件中包含的文件和目录列表。谢谢~~
五、linux生成文件中.so文件和.out文件的区别?
在链接的时候指定入口是可以制造可以运行的.so文件的典型的例子:/lib64/ld-linux-x86-64.so.2/lib64/libc.so.6因为它们都是ELF(Executable and Linking Format)文件顾名思义就知道这种文件同时兼具可执行于可连接的作用。Windows上我不熟悉,当时考虑到DLL于EXE都是PE文件,链接器那边做好入口理论上是可以执行的。但是如果Windows上有什么泾渭分明的区分就无解了
六、linux生成文件默认权限的修改方法?
在Linux中,可以使用umask命令修改生成文件的默认权限。umask命令用于设置文件创建时的默认权限掩码。通过设置umask值,可以控制新建文件的权限。例如,umask 022会将新建文件的默认权限设置为644,umask 002会将新建文件的默认权限设置为664。可以将umask值添加到~/.bashrc文件中,以便在每次登录时自动加载。此外,也可以使用chmod命令手动更改文件的权限。
七、linux如何提取文件每一行生成新的文件?
通过循环读取文件每一行和重定向符>>来实现提取文件每一行生成新的文件。
八、怎样在linux下对目录进行压缩生成gz文件?
两种方法: tar命令: tar czvf a.tar.gz /etc/ ##把etc下的文件打包成a.tar.gz gzip命令: gzip b.tar.gz /etc/ ##同上,只是命令不同 另外,可以通过gunzip解压a/b.tar.gz成a/b.tar,tar只是打包,不压缩;gz是gzip的压缩方式,特点是速度快,压缩率不高。
九、linux锁定文件?
利用chattr命令可以锁定系统中一些重要的文件或目录,命令格式:chattr [-R] +/- i/a 文件-R:递归修改所有的文件及子目录,这是一个可选项。
+:增加扩展属性;
-:减少扩展属性;
i:只读属性,增加该属性之后,任何人包括root用户也无权写入更改;
a:追加属性,增加该属性之后,只能向文件中添加数据,而不能删除原有数据。
例如,为/etc/passwd和/etc/shadow文件增加只读属性,这样任何人都无法在系统中添加新的用户,也无法删除系统中原有的用户。[root@localhost ~]# chattr +i /etc/passwdd /etc/shadow此时再创建用户就会出现错误提示。
md5sum命令是用来计算文件MD5哈希值的
十、linux生成ssh的命令?
要在Linux上生成SSH密钥对,可以使用以下命令:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"。
这将生成一个4096位的RSA密钥对,并将其关联到您提供的电子邮件地址。
生成的密钥将存储在~/.ssh目录中,私钥为id_rsa,公钥为id_rsa.pub。
您可以使用这对密钥进行SSH身份验证,以便安全地访问远程服务器或进行其他加密通信。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...