系统必备软件安装

1. system/kernel

安装 ubuntu 系统

# 实时系统镜像(推荐使用以下系统镜像,已经集成了实时内核)
http://mirrors.aubo-robotics.cn:8001/installer/ubuntu/ubuntu-16.04.3-rt94-amd64.iso

2. git

安装仓库管理工具git

# 安装vim和git,注意配置自己的邮箱和名称
sudo apt-get install git vim
git config --global user.name "Your Name" # 自己的 Gitlab 用户名
git config --global user.password  "Your password" # 自己的 Gitlab 用户密码
git config --global user.email "email@example.com" # 自己的 Gitlab 账号绑定的邮箱
git config --global core.editor vim
git config --global credential.helper store # 免账号密码执行fetch pull push等指令(注意:第一次使用用http协议 clone 时需输入一次用户名密码。)
git config --global pull.rebase true # 默认pull使用rebase策略
# 查看config内容
git config -l
# 安装gitk(可以查看分支模型的界面)
sudo apt-get install gitk

3. ssh

安装ssh协议实现工具openssh-server和openssh-client

sudo apt-get install openssh-server openssh-client
# your_email@example.com 是你在GitLab注册的邮箱
ssh-keygen -t rsa -C "your_email@example.com"  #之后一直输回车(默认配置)直到该命令结束
# 查看生成的public key
cd ~/.ssh 
ls
cat id_rsa.pub # 查看 id_rsa.pub 文本中的内容,即 public key

上传public key

1.在终端窗口复制 id_rsa.pub 文本中的内容

2.复制粘贴到: http://git.aubo-robotics.cn:8001/-/profile/keys

3.将有效的密钥粘贴到文本框后,Add key按键会变成蓝色,点击该按键保存密钥。

4. qt

安装qt

# 下载qt5.12.9
wget http://mirrors.aubo-robotics.cn:8001/installer/qt/qt-opensource-linux-x64-5.12.9.run
# 安装qt5.12.9
chmod +x qt-opensource-linux-x64-5.12.9.run
./qt-opensource-linux-x64-5.12.9.run #按步骤输入自己注册的 qt 账户和密码,之后勾选 Qt5.12.9 等待自动安装
#创建OpenGL的动态链接
locate libGL
ln -s /usr/lib64/libGL.so.1 /usr/lib/libGL.so #假设上一步查找到的libGL版本的所在路径为/usr/lib64/libGL.so.1
# 编辑/etc/profile.d/path-qt5129.sh,在PATH中增加$HOME/Qt5.12.9/5.12.9/gcc_64/bin,这样qmake就能被正常找到
sudo bash
cat <<-EOF > /etc/profile.d/path-qt5129.sh
PATH="$HOME/Qt5.12.9/5.12.9/gcc_64/bin:\$PATH"
EOF

5. clang-format

clang-format是代码格式化的工具

5.1 Linux下安装代码格式化工具clang-format

# 切换到root权限
sudo bash # 输入密码(界面不显示密码)进入 root 权限 
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main"
apt-get update
apt-get -y install clang-format-9
# 创建链接
ln -s /usr/bin/clang-format-9 /usr/bin/clang-format

5.2 Windows下安装代码格式化工具clang-format

1、在Windows下的安装需要去官网下载相应的版本

官网地址:https://llvm.org/builds/

img

2、选择最新版本

img

3、选择windows64位版本

img

4、下载之后直接进行安装,安装时注意勾选环境变量

img

5、安装后使用命令行检查下是否安装成功

img

5.3 相应的qtcreator插件配置

1. 在Help -> About Plugin中选择 C++/Beautifier

2. 在Tools -> Option -> Beautifier/General 中选择 Enable auto format on file save,开启保存文件时自动格式化,Tool选择ClangFormat

3. 在Tools -> Option -> Beautifier/Clang Format中,Configuration中的Clang Format Command路径改为/usr/bin/clang-format(安装clang-format的版本为9,且建立了链接,所以此处路径也可以改为/usr/bin/clang-format-9),Options选择Use customized style,点击Add添加新的配置,将.clang-format中的内容复制到Value框中

6. cmake

依次安装代码编译工具make和cmake

6.1 make 安装

#先更新找到ubuntu-make,再下载
sudo apt-get update
sudo apt-get install ubuntu-make
sudo apt-get install make

6.2 cmake 安装


wget --no-check-certificate https://cmake.org/files/v3.20/cmake-3.20.5-linux-x86_64.sh

chmod +x ./cmake-3.20.5-linux-x86_64.sh

./cmake-3.20.5-linux-x86_64.sh  # 一直回车

sudo ln -s `pwd`/cmake-3.20.5-linux-x86_64/bin/cmake /usr/bin/cmake 
#若报错ln: failed to create symbolic link '/usr/bin/cmake': File exists
#则输入 sudo rm /usr/bin/cmake
#之后再次输入sudo ln -s `pwd`/cmake-3.20.5-linux-x86_64/bin/cmake /usr/bin/cmake
# ubuntu 18.04(指定3.20版本)
sudo apt remove cmake 
hash -r
sudo snap install cmake --channel=3.20/stable --classic
#显示cmake (3.20/stable) 3.20.6 from Crascit✓ installed表示安装完成,
#否则输入sudo apt-get update然后输入sudo apt-get upgrade之后
#再次执行sudo snap install cmake --channel=3.20/stable --classic
#如果上述操作均不能安装cmake或者出现snapd.failure.service is a disabled or a static unit,not starting it这样的问题,执行以下操作
sudo fuser -vki /var/lib/dpkg/lock
sudo apt purge snapd
sudo dpkg --configure -a
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt install snapd
sudo dpkg -r snapd gnome-software-plugin-snap
sudo apt update
sudo apt full-upgrade
sudo apt install snapd
#执行完毕后再次执行hash -r和sudo snap install cmake --channel=3.20/stable --classic

7. 升级gcc

//重新安装证书
sudo apt-get install --reinstall ca-certificates 

//添加仓库
sudo add-apt-repository ppa:ubuntu-toolchain-r/test

打开 Software&Updates 更改Download from

sudo apt-get update
#如果update执行失败,出现InRelease问题,执行以下指令
sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update
#成功后安装g++
sudo apt install g++-7 
# 如果执行sudo apt install g++-7 缺少依赖,增加执行 sudo apt install -f进行修复安装
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
                         --slave /usr/bin/g++ g++ /usr/bin/g++-7 
# 如果不执行上述指令,可能会出现update-alternatives: error: no alternatives for gcc
sudo update-alternatives --config gcc # 配置指令
# 执行配置指令后,如果出现 There is only one alternative in link group gcc (providing /usr/bin/gcc): /usr/bin/gcc-7
# 可能的原因是当前只有一个g++版本可供选择
# 可增加执行 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5 (本地g++ 版本是5)
# 再次执行 sudo update-alternatives --config gcc会出现,可以根据序号选择版本

gcc --version
g++ --version
# This one if you want the **all** toolchain programs (with the triplet names) to also point to gcc-7. 
# For example, this is needed if building Debian packages.
# If you are already are root (e.g. inside a docker image), remove the "sudo" below.
ls -la /usr/bin/ | grep -oP "[\S]*(gcc|g\+\+)(-[a-z]+)*[\s]" | xargs sudo bash -c 'for link in ${@:1}; do ln -s -f "/usr/bin/${link}-${0}" "/usr/bin/${link}"; done' 7

8. OpenSSL 版本升级

8.1 查看 Qt 对应 OpenSSL 版本

如果根据教程安装的 Qt5.12.9,则跳过此步骤,对应 OpenSSL 版本为 OpenSSL_1_1_1d

其他版本 Qt 可在任意程序中执行下列命令查看对应 OpenSSL 版本

qDebug() << SslSocket::sslLibraryBuildVersionString();

8.2 安装对应版本的 OpenSSL

# 克隆仓库
git clone https://github.com/openssl/openssl.git

# 切换版本
git checkout OpenSSL_1_1_1d 

# 安装
./config
make
sudo make install

# 替换新版本链接
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1

# 查看升级结果
openssl version -a

附: 推荐拓展(根据需求自行安装)

1. 实时内核

#对于有实时内核需求的项目,建议安装
http://mirrors.aubo-robotics.cn:8001/installer/ubuntu/linux-headers-4.14.195-rt94_4.14.195-rt94-1_amd64.deb
http://mirrors.aubo-robotics.cn:8001/installer/ubuntu/linux-image-4.14.195-rt94_4.14.195-rt94-1_amd64.deb

2. typora

# typora 是一款 markdown 编辑器,arcs 相关仓库中一般会有 README.md/CHANGELOG.md
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt-get update

# install typora
sudo apt-get install typora

# root用户登录时设置markdown文件的默认打开方式为typora
# 步骤一 编辑器打开/etc/gnome/defaults.list
gedit /etc/gnome/defaults.list
# 步骤二 添加以下内容保存后退出,注销后重新登录生效。
text/markdown=typora.desktop

3. 自定义git提交模板

可以自己编辑一个模板文件,比如新建~/.gitmessage,编辑一段关于提交规范的注释

vim ~/.gitmessage


# head: <type>(<scope>): <subject>
# - type: feat, fix, docs, style, refactor, test, chore
# - scope: can be empty (eg. if the change is a global or difficult to assign to a single component)
# - subject: start with verb (such as 'change'), 50-character line
#
# body: 72-character wrapped. This should answer:
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
#
# footer: 
# - Include a link to the ticket, if any.
# - BREAKING CHANGE
#
修改全局配置文件`~/.gitconfig`,添加

    [commit]
        template = ~/.gitmessage

4. clang-tidy

推荐安装代码规范检查工具clang-tidy

sudo apt-get install -y clang-tidy-8
Checks: '-*,readability-identifier-naming'
CheckOptions:
  - { key: readability-identifier-naming.NamespaceCase,        value: lower_case }
  - { key: readability-identifier-naming.ClassCase,            value: CamelCase  }
  - { key: readability-identifier-naming.PrivateMemberSuffix,  value: _         }
  - { key: readability-identifier-naming.StructCase,           value: CamelCase  }
  - { key: readability-identifier-naming.FunctionCase,         value: camelBack }
  - { key: readability-identifier-naming.VariableCase,         value: lower_case }
  - { key: readability-identifier-naming.GlobalVariablePrefix, value: g_ }
  - { key: readability-identifier-naming.GlobalConstantCase,   value: UPPER_CASE }

配置方式:

Tools -> Options -> Analyzer -> Clang Tools

  • Executables框中填入/usr/bin/clang-tidy-8

  • 点击Diagnostic Configuration -> Copy(重命名ARCS)

  • Clang-Tidy Checks页面选择Use .clang-tidy config file
  • 拷贝配置到工程文件夹的.clang-tidy文件中
  • Analyze -> Clang-tidy and Clazy .. -> 选择要分析的文件 -> Analyze
  • 根据建议对代码进行修改

results matching ""

    No results matching ""