红联Linux门户
Linux帮助

海思编译链编译出现__aeabi_unwind_cpp_pr1重定义怎么回事

发布时间:2017-04-05 10:00:54来源:blog.csdn.net/fg2fg3作者:架构师米洛
1.用arm-hisiv100nptl-linux-gcc编译代码,结果发现报错,__aeabi_unwind_cpp_pr1重定义,在librt.a先定义,使用的海思芯片是hi3520d。
 
2.本来以为是编译链冲突所致,工具链删了又装,只保留一个,还是不行,装的是toolchain_hisi_linux_nptl_install.tgz
 
3.后来发现在Hi3520_SDK_1.0.5.0中也有工具链,还有三种,分别是hisiv100,hisiv200,hisiv100nptl,就使用SDK包osdrv中的toolchain的hisiv100nptl,运行其目录下的cross.install文件,安装arm-hisiv100nptl-linux-gcc编译器。
 
4.装完发现程序就编译正确,运行OK了。
 
5.说明海思的编译链冲突也许是不存在的,说是很多编译链安装时候会用软连接导致删除不干净,因此很多人采取一个编译链一个虚拟机的方式,防止编译工具链冲突。
 
6.此处说明toolchain_hisi_linux_nptl_install.tgz也许本身就有问题,建议使用hisi官方提供的SDK中的cross.install来安装编译工具链。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29735.html