前言
同济大学计算机开放实验室的como自动化测试系统来源于CAR构件技术和Elastos操作系统(一个完全面向构件技术的操作系统) 项目地址:https://gitee.com/tjopenlab/como
como简介
C++是功能安全计算机中的主要编程语言,但因其无法应对软件即服务的需求,在应用开发领域的领导地位被Java所取代,CAR构件技术的目标就是解决该问题。COMO技术源自CAR构件技术,它注重编程技术,强调与具体操作系统无关,开发环境是Linux。面向汽车、轨道交通功能的计算机系统,在开发或自定义一种操作系统时,可以选择 COMO构件技术。
como环境构建
此处选用ubantu系统进行介绍
安装build-essential
build-essential包括一些Linux下开发的必要工具
sudo apt install build-essential
安装cmake
cmake是一个跨平台的建构系统的工具,可以用简单的语句来描述所有平台的安装 (编译过程)。
1. sudo apt-get install software-properties-common
2. sudo add-apt-repository ppa:george-edison55/cmake-3.x
3. sudo apt-get update
4. sudo apt-get install cmake
安装DBus
dbus进行进程间通信
1. sudo apt-get update
2. sudo apt-get install libdbus-1-dev
安装unwind
unwind方式栈回溯
sudo apt-get install libunwind8-dev
安装ICU
ICU是International Component for Unicode的简称,是一套稳定成熟、功能强大、轻便易用和跨平台支持Unicode 的开发包。
sudo apt-get install libicu-dev
安装autoreconf libtool
autoreconf可以从模板文件生成一个配置脚本,libtool为想要以可移植方式创建和访问共享库的开发人员提供标准化的抽象接口。
linux红帽系列系统例如Redhat,centOS自带autoreconf和libtool包,不需安装
sudo apt-get install autoreconf
sudo apt-get install libtool
环境构建遇到的问题以及解决方法
- 安装dbus时遇到:libdbus-1-dev : 依赖: libdbus-1-3 (= 1.12.16-2ubuntu2.2) 但是 1.12正要被安装。参考blog ubuntu20.04安装g++存在依赖问题,安装ubuntu时大多数人选择换源以获得更快的软件包下载速度,但apt源中的候选版本很容易与所换清华源,阿里源等冲突。这时只需要将apt源换回官方源(换源时有备份),然后 sudo apt update,再安装就好了
- 安装autoreconf时出现问题:E: 无法定位软件包autoreconf。事实上autoreconf又名autoconf,只需
sudo apt-get install autoconf
build过程
- 将项目clone到选定的一个目录(git 必须经过公钥配置,否则无法clone)
git clone git@gitee.com:tjopenlab/como.git
- 切换到como目录
cd como
- 运行build目录下envsetup脚本
source build/envsetup.sh
或
sh build/envsetup.sh
- 选择自己的系统用于build
$ help
- comotools: Switch to build como tools.
- como_linux_x64: Switch to build como for linux x64.
- como_android_aarch64: Switch to build como for android aarch64.
- debug: Switch to build debug version.
- release: Switch to build release version.
- build: Build source codes.
- build install: Build source codes and install the building results.
- rebuild: Rebuild source codes.
- rebuild install: Rebuild source codes and install the building results.
- clobber: Clean the building results and generated files of the current project.
- clobber all: Clean all of the building results and generated files.
我采用linux系统,此时选择como_linux_x64
- build
build
|