我想使用来自http://rwiki.sciviews.org/doku.php?id=getting-started:installation:android的交叉编译的gcc 我想在Android设备上编译并在Android设备上执行生成的文件,所以我在ARM上为ARM编译 我读到这个交叉编译的gcc应该可以工作 我正在调用这样的编译器:
gcc_dir/bin/arm-elf-linux-androideabi-gcc -Lgcc_dir/lib -Igcc_dir/include test.c
但是我收到了错误:
WARNING: generic atexit() called from legacy shared library
soinfo_link_image(linker.cpp:1635): could not load library "libmpc.so.2" needed by "/package.appName/files/gcc/bin/../libexec
/gcc/arm-elf-linux-androideabi/4.6.0/cc1";
caused by load_library(linker.cpp:745):
library "libmpc.so.2" not foundCANNOT LINK EXECUTABLE
由于我在Android上运行它,因此无法使用“export”导出LD_LIBRARY_PATH
我试图解决这个问题:
1.使用-Lgcc_dir / lib添加库路径
2.使用-Wl,-rpath,gcc_dir / lib
添加库路径
3.执行时将LD_LIBRARY_PATH添加到环境变量(Runtime.getRuntime()。exec(command,environment_variables,files_dir))
编辑:我没有root权限!
编辑2:我已经调用了一个调用,并且gcc正在错误的路径中搜索该文件:
6535 stat64("/vendor/lib/libmpc.so.2", 0xbeffefd0) = -1 ENOENT (No such file or directory)
6535 stat64("/system/lib/libmpc.so.2", 0xbeffefd0) = -1 ENOENT (No such file or directory)
6535 stat64("/vendor/lib/libmpc.so.2", 0xbeffefd0) = -1 ENOENT (No such file or directory)
6535 stat64("/system/lib/libmpc.so.2", 0xbeffefd0) = -1 ENOENT (No such file or directory)
是否有其他方法可以更改Lib路径?
我不知道为什么找不到图书馆以及如何修复图书馆 任何帮助表示赞赏 提前致谢。
答案 0 :(得分:0)
我收到了电子邮件,请求帮助。
我很害怕,但你需要将/ data / local / gcc / lib添加到LD_LIBRARY_PATH。
如果无法解决问题,请告诉我。我不得不考虑另一种可能性。
PS:可能你需要bash