首页 > 代码库 > 海思编译链编译出现__aeabi_unwind_cpp_pr1重定义怎么回事

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

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来安装编译工具链。


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