实测智行者IC社区合作项目的天枢SDK v2.3,1的本人,踩过因libssl.so.1.1缺失致使cmake配置直接崩掉的坑,新手依照步骤一步步去操作,便能轻松躲开这类常见问题。 环境依……
实测智行者IC社区合作项目的天枢SDK v2.3,1的本人,踩过因libssl.so.1.1缺失致使cmake配置直接崩掉的坑,新手依照步骤一步步去操作,便能轻松躲开这类常见问题。
环境依赖安装报错怎么解决
1. 进入到项目的根目录之中,去执行那个名为./scripts/install_deps.sh的脚本,要留意该脚本要求Ubuntu 20.04这个操作系统的内核版本在5.4以上,并且固定参数–with-python3.8必须完整带上。然后,通过手动方式去安装libusb – 1.0 – 0 – dev,所使用的命令为sudo apt install libusb – 1.0 – 0 – dev = 2:1.0.23 – 2build1,倘若版本号出现错误,那么就会引发符号冲突的情况。
【新手需避坑】,存在“E: Unable to locate package libusb-1.0-0-dev”这样常见的报错情况,其中起关键作用的原因是apt源没有进行更新,或者,版本号出现了敲错的状况。快速解决途径:首先进行sudo apt update操作,接着运用apt-cache policy libusb-1.0-0-dev去查询可利用的版本,随后将命令当中的版本号更替为与系统适配的那一个版本号。
编译参数调优选哪个值
2. 将CMakeLists.txt打开,于其中寻觅到set(BUFFER_SIZE 2048)这一行,把它变更为set(BUFFER_SIZE 4096)。而后实施mkdir build这个操作,接着进行cd build这个步骤,随后运行cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_LOGGING=ON。BUFFER_SIZE等于4096是最优推荐出来的值的情况存在着,原因在于其智行者底层方面的DDS通信单元每帧数据峰值大概能达到3.8KB,2048这种程度则会出现溢出从而触发重传的状况现象,4096这样的数据大小是预留了余量并且还不会浪费内存的情形情况。
拿来两种做对比的链接方案,一种是动态链接,也就是键入-DBUILD_SHARED=ON的情形,这般生成的可执行文件体积较小,然而在进行部署操作的时候,却会依赖十三四个.so文件,只要缺少其中任何一个,程序就会崩溃;另一种是在键入静态链接,也就是-DBUILD_SHARED=OFF时的情况,编出来的文件要比动态链接生成的大30MB,将其拷贝到其他机器上后,单个文件便能够直接运行。针对使用场景而言,你自己用于开发的机器应当选用动态链接方式,而交付给客户使用的,则要采用静态链接,千万别把这两者搞颠倒了。
运行时缺库报错怎么整
3. 运行示例程序,具体为:./build/bin/sample_reader ,其操作要求为:连接 –device /dev/ttyACM0 ,设定 –baud 115200。要是出现“error while loading shared libraries: libic_driver.so.2: cannot open shared object file”这样的信息,那就去执行export LD_LIBRARY_PATH=/opt/zhixing/lib:$LD_LIBRARY_PATH,然后再次运行。
【新手防坑】,此报错频繁出现,缘由是动态链接器寻觅不到智行者私有的驱动库。一站式处理流程:首先find /opt -name”libic_driver.so*”来确认库实际路径,接着sudo ldconfig去刷新缓存,最终将那一行export写入~/.bashrc里使其永久生效。别漏了最后一步,否则每次开新终端都得重新设。
本方法对Ubuntu 18.04以及更低版本的系统不适用 ,这是由于glibc版本过低造成的 ,要是直接运行会出现报错 “version GLIBC_2.29 not found”。有简易的替代方案:升级到20.04 ,或者利用项目附带的Dockerfile构建镜像 ,采用这条命令docker build -t zhixing-env . 接着进入容器进行编译 ,五条命令便可完成。在你进行实际部署的过程当中,可曾遭遇过哪些稀奇古怪的链接报错情况呢?不妨把它们在评论区分享出来,大家一起瞧瞧。
微信扫一扫
还没有评论呢,快来抢沙发~