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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海思编译链编译出现__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重定义怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

海思 himix200交叉编译openssl

make/cmake:海思himix200交叉编译zlib

make/cmake:海思himix200交叉编译zlib

海思(hi3559c)gcc编译环境的搭建。(记录二)

海思(hi3559c)gcc编译环境的搭建。(记录二)

海思(hi3559c)gcc编译环境的搭建。(记录二)