Android NDK-arm-linux-androideabi-g:找不到

Android NDK-arm-linux-androideabi-g:找不到,第1张

概述我正在尝试在刚为此安装的新Ubuntu中为Android目标构建CPOCO库.我已经在/home/user/dev/Android/android-ndk-r9-x86中安装了AndroidNDK,并使用以下命令在环境变量中添加了NDK的路径:导出ANDROID_NDK_ROOT=/home/user/dev/Android/android-ndk-r9-x86要构 @H_404_0@我正在尝试在刚为此安装的新Ubuntu中为Android目标构建C POCO库.

@H_404_0@我已经在/ home / user / dev / AndroID / androID-ndk-r9-x86中安装了AndroID NDK,并使用以下命令在环境变量中添加了NDK的路径:

@H_404_0@导出ANDROID_NDK_ROOT = / home / user / dev / AndroID / androID-ndk-r9-x86

@H_404_0@要构建库,我首先移至POCO库的根目录,并使用进行配置:

@H_404_0@

./configure --omit=NetSSL_OpenSSL,Crypto,Data/ODBC,Data/MysqL --static --config=AndroID
@H_404_0@这样它可以编译静态.a库,不编译我不需要的模块,并为AndroID目标编译.

@H_404_0@但是比调用make会导致以下错误:

@H_404_0@

user@user-VirtualBox:~/dev/lib/POCO/poco-1.6.1$makemake -C /home/user/dev/lib/POCO/poco-1.6.1/Foundationmake[1]: Entering directory `/home/user/dev/lib/POCO/poco-1.6.1/Foundation'** Compiling src/ArchiveStrategy.cpp (deBUG, static)arm-linux-androIDeabi-g++  -Iinclude -I/home/user/dev/lib/POCO/poco-1.6.1/CppUnit/include -I/home/user/dev/lib/POCO/poco-1.6.1/CppUnit/WinTestRunner/include -I/home/user/dev/lib/POCO/poco-1.6.1/Foundation/include -I/home/user/dev/lib/POCO/poco-1.6.1/XML/include -I/home/user/dev/lib/POCO/poco-1.6.1/JsON/include -I/home/user/dev/lib/POCO/poco-1.6.1/Util/include -I/home/user/dev/lib/POCO/poco-1.6.1/Net/include -mthumb -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-strict-aliasing -finline-limit=64 -frtti -fexceptions -DPOCO_BUILD_HOST=user-VirtualBox  -DPOCO_ANDROID -DPOCO_NO_FPENVIRONMENT -DPOCO_NO_WSTRING -DPOCO_NO_SHAREDMEMORY  -g -D_DEBUG  -c src/ArchiveStrategy.cpp -o /home/user/dev/lib/POCO/poco-1.6.1/Foundation/obj/AndroID/armeabi/deBUG_static/ArchiveStrategy.osh: 1: arm-linux-androIDeabi-g++: not foundmake[1]: *** [/home/user/dev/lib/POCO/poco-1.6.1/Foundation/obj/AndroID/armeabi/deBUG_static/ArchiveStrategy.o] Error 127make[1]: Leaving directory `/home/user/dev/lib/POCO/poco-1.6.1/Foundation'make: *** [Foundation-libexec] Error 2
@H_404_0@Make似乎找不到用于AndroID的编译器,我也不知道为什么?我想念什么? “安装” NDK时我是否忘记了什么?

@H_404_0@谢谢.

解决方法:

@H_404_0@您遇到的错误是由于缺少工具链调用引起的-确切地说,找不到arm-linux-androIDeabi-g命令/可执行文件/二进制文件.

@H_404_0@幸运的是,我们可以通过安装Standalone toolchain来解决该问题-实际上,它确实具有您所缺少的东西,这是一种通用的arm-linux-androIDeabi交叉编译器,而不是其他一些晦涩的,特定于供应商/平台的交叉编译器交叉编译器/工具链,例如marvell使用的armv7a-marvell-linux-androID或CLang使用的arm-linux-androID.有关CLang,look here的更多信息.我可能是错的,并且CLang实际上开箱即用生成了arm-linux-androIDeabi工具链,但我不确定.我知道您可以轻松使用它,只是不确定是否可以“直接使用”它,这正是您所要的. “剩下的工作”只是一些途径的输出,但仍然如此.我们的目标是在这里提供最懒惰的解决方案.

@H_404_0@独立的工具链应足以完成您的任务,因此请尝试在其他任何交叉编译解决方案中尽可能多地使用它.

@H_404_0@但是,如果您喜欢冒险-可以使用crosstool-ng工具随意创建自己的交叉编译器(或整个工具链!).但是,请尝试使用linaro libc分支.亲身经历告诉我,某种方式效果最好,而造成的问题/时间浪费最少.

@H_404_0@编辑:

@H_404_0@另外,请确保为您的体系结构(架构)和 *** 作系统下载正确的版本,这里也涉及32位和64位.经过长时间的讨论,我们意识到这是一个“ 32位与64位”的问题.
Here’s a link了解更多信息.

总结

以上是内存溢出为你收集整理的Android NDK-arm-linux-androideabi-g:找不到全部内容,希望文章能够帮你解决Android NDK-arm-linux-androideabi-g:找不到所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1090348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存