2 编译环境
1、配置编译机
在Mac和Windows上,交叉编译linux版本的服务程序也是可以的,不过一般公司会配置专门的编译机,代码提交到git(或svn)库里,由编译机pull并编译。
开发和正式编译的环境应尽量隔离,可以避免因开发漏提交,或配置不同导致的项目编译异常。一份合格的代码,在每个编译环境下,产出的程序都应该是一致的。
随着流程的标准化,公司基本都会推进自动化编译流程,将开发人员和编译环境进一步解耦,只需在网页上操作,即可进行编译和导出。
接下来,我们在Rocky上搭建编译环境。
首先,通过ssh登陆到Rocky服务器上。
1.1 更新系统
首先更新系统,保证系统内补丁包处于最新状态
sudo dnf update
sudo dnf clean all
上次元数据过期检查:1:16:28 前,执行于 2023年01月11日 星期三 18时50分52秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
安装:
kernel x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 1.8 M
升级:
bpftool x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 2.6 M
firefox x86_64 102.6.0-1.el9_1 appstream 106 M
glx-utils x86_64 8.4.0-12.20210504git0f9e7d9.el9.0.1 appstream 40 k
kernel-tools x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 2.1 M
kernel-tools-libs x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 1.9 M
krb5-libs x86_64 1.19.1-24.el9_1 baseos 718 k
python3-perf x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 2.0 M
rocky-gpg-keys noarch 9.1-1.11.el9 baseos 12 k
rocky-release noarch 9.1-1.11.el9 baseos 22 k
rocky-repos noarch 9.1-1.11.el9 baseos 12 k
tzdata noarch 2022g-1.el9_1 baseos 427 k
安装依赖关系:
kernel-core x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 45 M
kernel-modules x86_64 5.14.0-162.6.1.el9_1.0.1 baseos 33 M
事务概要
================================================================================
安装 3 软件包
升级 11 软件包
总下载:196 M
确定吗?[y/N]根据提示,安装完毕!
1.2 安装GCC
Rocky Linux和许多其他基于RedHat的Linux发行版,都附带了一个名为“Development tools”(开发工具)的包,用于在Linux系统上构建和编译软件。此包包含GCC、g++、make、libtool、rpmbuild、Autoconf等。可以通过运行以下命令检查“Development tools”包是否适用于当前系统。
查看输出
在可用组中包含开发工具,可以继续安装
控制台展示所有需要安装的工具列表及依赖关系
安装完成后,通过以下命令查看已安装的组件
查看gcc版本信息
查看gcc位置
1.3 安装cmake
从上面的软件包中可以看到,cmake并没有被默认安装,通过以下命令实现
安装完成后,查看版本信息
2、更新代码编译
在安装Development Tools时,已经安装了git,我们可以查看git版本
通过git将代码pull到本地,我们将代码放到目录 /data/code
跳转到data目录,创建code文件夹
使用git clone 命令将代码更新到本地
进入到simpleservice/build 目录下,执行"cmake ..",因为CMakeLists文件与build目录同层,因此返回上层查找,而生成的临时文件都放在build目录下。
然后执行make命令,生成libServiceBase.a文件。
进入chatservice目录,创建lib和build目录,拷贝libServiceBase.a文件到lib目录下
与simpleservice相同,进入build目录,执行"cmake ..",然后执行make命令。
在bin目录下生成ChatService程序。
将程序从服务器拷贝到本地,新开一个终端,执行scp命令
至此,linux版本的chatservice编译完成。
Last updated