# 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