diff --git a/Environmental.md b/Environmental.md new file mode 100644 index 00000000..a192e69f --- /dev/null +++ b/Environmental.md @@ -0,0 +1,84 @@ +# 前期需要下载的软件 +* VMware Workstration +* git bash +* vscode +* Beyond Compare +* MoBaXterm + +# 前期快速上手 +* git的基本操作(我们主要使用git进行代码管理) +* Linux的基本操作(主要是命令行操作,了解常用的命令,了解怎么使用命令行管理文件) + //csdn相关文章写得很详尽,搭配上ai工具边用边学可以很快地熟悉常用的指令 + + +# 前期需要准备的基本环境 +1. 在VMware Workstation中安装Ubuntu,安装好gcc和g++编译器,并配置好网络(能正常上网) +2. 学会vscode用ssh远程连接Ubuntu,下载CMake、CMake Tools、Baidu Comate(ai工具,对后续学习有比较大的帮助)等基本插件 +3. 创建一个gitee账号 + +# 编译过程 +1. 将gitee上的源码文件保存到虚拟机中 +2. 依照顺序执行以下命令 + + +* 安装libssl-dev软件包 + +``` +sudo apt-get update +sudo apt-get install openssl +sudo apt-get install libssl-dev +``` + +* 安装LDAP软件包 +``` +sudo apt-get update +sudo apt-get install libldap2-dev +``` + + +* 安装cmake(llvm使用cmake编译,cmake版本要求 3.20以上,此处安装cmake-3.27.4) + cmake源码压缩包所在的路径:embedded-framework/tools/cmake/cmake-3.27.4.tar.gz + 在embedded-framework/tools/cmake目录下执行以下指令来安装cmake-3.27.4: +``` +tar zxvf cmake-3.27.4.tar.gz +cd cmake-3.27.4 +sudo apt-get install openssl // 如果执行./bootstrap提示缺少ssl相关资源,执行此安装命令 +./bootstrap +make +sudo make install +cmake --version //查看版本,确认安装完成 +``` + +* 安装llvm +``` +// 下载源码 +git clone https://github.com/llvm/llvm-project.git +cd llvm-project +mkdir build +cd build +cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm +make -j8 //这个过程会有点久 +find ./ -name clang-tidy //查看是否有clang-tidy的文件 +clang-tidy --version //查看版本,确认编译完成 +``` + +3. 进行编译,在embedded-framework目录下执行以下命令: +``` +make clean //CmakeLists.txt是生成Makefile文件的构建脚本,如果CmakeLists.txt被修改需要重新执行make clean清除之前的构建文件 +make cmake //构建源码,生成Makefile文件 +cd cmake-shell //在中间文件目录进行编译,把所有中间文件创建在此 +make //编译全部输出构建文件 +``` + + + + + + + +# 问题汇总 +1. gcc编译器版本过低后续编译会出bug,亲测gcc 7.5.0版本不能用,可以使用gcc --version命令查看自己gcc的版本,版本过低需要更新版本,可以自行搜索怎么更新也可以参考https://blog.csdn.net/weixin_43354152/article/details/129247408 + +2. 下载llvm源码时git clone https://github.com/llvm/llvm-project.git 这个过程可能会经常报网络错误,多试几次,可以用网易uu加速器的学术资源加速可能会好下一点 + +3. 编译llvm过程可能会多次卡顿退出,可能的原因有:磁盘空间不足、编译器版本过低、缺少依赖等。可以尝试多线程编译(make -j8) \ No newline at end of file