README.md 2.0 KB

modularization

技术发展室模块化自动驾驶系统源代码仓库

注意:如果是AGX的环境,请先运行agx_setup.sh脚本,防止漏装软件。

$ bash agx_setup.sh

1.autogen.sh 需要设置qtmake路径 追加s参数,编译中出现错误时自动退出。默认情况下不退出:

$ ./autogen.sh s

2.生成部署文件用autodeploy.sh,需要设置deploy.sh文件里的Qtgccdir。生成的部署文件在deploy/app目录下。

3.首次下载完成后,请在modularization/路径下,右键打开终端,依次执行如下命令

$chmod +x *.sh $./autogen_lib.sh

4.修改autodeploy.sh中的CONFIG_IVSysMan为对应项目的配文件。具体文件可以在./other/目录下找到

5.提交代码前,需要执行如下命令,清除编译产物

$./auto_clean.sh

6.单独编译某个模块,例如view_ivlog,执行如下命令即可

$./build_partial.sh view_ivlog

7.单独编译某个库,例如libivchart,执行如下命令

$./autogen_lib.sh libivchart

$cp bin/libivchart ../.

$deploylib.sh libivchart

rm libivchart

8.如果是agx新刷的系统,由于使用的是apt安装的qt是不完整的,所以请先执行如下命令:

sudo apt-get install libqt5serialport5-dev -y

sudo apt-get install qtwebengine5-dev qtpositioning5-dev -y

9.如果个别工程编译时出现库缺失,请先到http://111.33.136.149:3000/adc_pilot/modularization_thirdpartylib下去下载对应的库文件,并按照链接路径放到modularization/thirdpartylib/下。

10.如果只用共享内存通信(不用DDS),可以在生成的modularization/include/systemdef.pri里加上

DEFINES += MODULECOMM_NO_FASTRTPS屏蔽掉,这样就不需要

libfastcdr.so libfastrtps .so libtinyxml2.so这三个库了。

11.如果编译某个模块,报错:c++: internal compiler error: Segmentation fault (program cc1plus)

修改系统设置限制:sudo gedit /etc/security/limits.conf,将所有stack大小设置为4096 重启系统,sudo reboot