利用autotool工具编译和安装

利用autotool工具编译和安装,第1张

平时自己写的程序多是直接写Makefile,大型的开源C代码,多是通过autotool工具来生成,需要学习下。为了具备通用性,用工作中实际程序来测试。

步骤很简单,解压程序后,在源码目录运行autoscan就会生成configure.scan 如下:

说明:

下面需要修改configure.scan 为configure.ac 且修改内容如下:

1)主要是修改AC_INIT 三个中括号里面内容依次是软件名,版本名,bug报告地址; 2)添加AM_INIT_AUTOMAKE(软件名,版本) 这个宏是必须的,它描述了我们将要生成的软件包的名字及其版本号:PACKAGE是软件包的名字,VERSION是版本号。当你使用make dist命令时,它会给你生成一个类似helloworld-1.0.tar.gz的软件发行包,其中就有对应的软件包的名字和版本号。 3) 输出文件名也修改:AC_OUTPUT(Makefile)

运行以下命令生成m4宏定义,比如我们使用的AM_INIT_AUTOMAKE,就是用aclocal生成的m4文件里面的:

如下:

运行命令autoconf来生成configure文件:

运行configure文件,报错,缺少Makefile.in无法生成Makefile

编写为生成Makefile需要的Makefile.am 文件如下:

说明:

在Makefile.am 文件中 INCLUDES根据提示用AM_CPPFLAGS替换下。 正常生成Makefile.in之后,用configure 来结合Makefile.in 生成Makefile文件

生成了Makefile文件。

刚才默认的安装是安装到/usr/local/下面的,我现在有两个需求: 一是指定安装路径,且不在bin下面,直接在那个目录下面; 二是需要把配置文件拷贝过去,安装后的目录如下;

原来我们只有一个Makefile,由于配置我们也需要安装,所以增加了配置目录的etc/Makefile的输出。

更改根目录的Makefile.am 设置下安装目录bindir,且要设置递归调用Makefile子目录SUBDIRS,整体如下:

在配置文件目录etc下新建Makefile.am内容如下:

重新生成和编译安装:

结果顺利完成编译和安装。

以前画的图:

搭建环境 - 安装 node.js

安装 typeScript

创建程序文件

.ts 文件类似于js文件

.tsx 文件提供的另一种文件类型 可以书写 JSX语法

编译

tsc [要编译的文件] --outFile [编译后保存文件]

直接命令行运行 ts 文件

1. tsc --init 创建tsconfig.json

2. 修改tsconfig.json文件,设置js文件输出路径 "outDir":"./js"

3. 设置vscode 监视任务

选择 监视 tsconfig.json,保存ts文件之后,vscode就会帮我们自动编译js

编译:将源代码变为机器可执行的代码文件。

安装:将可执行文件安装到 *** 作系统里,才可以使用。

补充:Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6052328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存