Firefly开源社区

标题: 想編個在 android console可以單獨執行的測試程式 hello [打印本页]

作者: woody.lee    时间: 2016-5-11 14:42
标题: 想編個在 android console可以單獨執行的測試程式 hello
本帖最后由 woody.lee 于 2016-5-13 13:54 编辑

根據網路上查的資料下去編
arm-eabi-gcc -g -o hello hello.c \
-Wl,-rpath-link=/home/user123/Project/ROCKCHIP/RK3288/output/android/target/product/rk3288_box/obj/lib,-dynamic-linker=/home/user123/Project/ROCKCHIP/RK3288/output/android/target/product/rk3288_box/system/bin/linker -I/home/user123/Project/ROCKCHIP/RK3288/android/prebuilts/ndk/9/platforms/android-4/arch-arm/usr/include/ \
-L/home/user123/Project/ROCKCHIP/RK3288/output/android/target/product/rk3288_box/obj/lib -nostdlib \
/home/user123/Project/ROCKCHIP/RK3288/output/android/target/product/rk3288_box/obj/lib/crtbegin_dynamic.o -lc

編出來了 用 file 看一下
hello: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped

用usb 拷貝到 rk3288上去跑,
執行後顯示
sh: ./hello: No such file or directory


請教大神, 應該怎麼弄呀??


作者: zhansb    时间: 2016-5-12 11:09
直接用NDK方便点,印象中这种方式要使用静态库
作者: woody.lee    时间: 2016-5-12 13:09
本帖最后由 woody.lee 于 2016-5-13 09:09 编辑
zhansb 发表于 2016-5-12 11:09
直接用NDK方便点,印象中这种方式要使用静态库
謝謝大神,
單純加 -static, 似乎編譯不過呀 @@
作者: simtoo    时间: 2016-5-12 18:24
大概率是交叉编译环境和系统编译环境不一致。建议楼主下载官方源码,android的话最好从源码目录生成单独交叉编译链,安装后再行编译。
作者: woody.lee    时间: 2016-5-13 09:06
本帖最后由 woody.lee 于 2016-5-13 09:10 编辑
simtoo 发表于 2016-5-12 18:24
大概率是交叉编译环境和系统编译环境不一致。建议楼主下载官方源码,android的话最好从源码目录生成单独交 ...
謝謝你,
請教下, 如何從源碼目錄生成單獨交叉編譯鏈??

作者: woody.lee    时间: 2016-5-13 09:48
woody.lee 发表于 2016-5-13 09:06
謝謝你,
請教下, 如何從源碼目錄生成單獨交叉編譯鏈??

自問自答
參考 http://fanli7.net/a/caozuoxitong/Android/2014/1214/533218.html
這樣搞搞就可以了
作者: zhansb    时间: 2016-5-13 10:03
此帖仅作者可见


楼主设置了什么
作者: woody.lee    时间: 2016-5-13 13:55
zhansb 发表于 2016-5-13 10:03
楼主设置了什么

不知道怎麼勾選了甚麼作者僅見的checkbox{:2_36:}
作者: simtoo    时间: 2016-5-13 15:09
woody.lee 发表于 2016-5-13 09:48
自問自答
參考 http://fanli7.net/a/caozuoxitong/Android/2014/1214/533218.html
這樣搞搞就可以了

参考http://www.2cto.com/kf/201304/202810.html这篇文章
作者: ssfighter    时间: 2016-5-19 13:24
楼主可以用NDK来编译,如果在AOSP下面就更好办了,仿照现成的那个native application写一个Android.mk和hello.c,然后mm编译再push进去就可以了。
作者: yangze    时间: 2016-7-22 10:29
readelf 你的out文件 会看出缺少什么链接库,添加到根目录的lib文件夹下就可以
作者: yangze    时间: 2016-7-22 10:30
woody.lee 发表于 2016-5-12 13:09
謝謝大神,
單純加 -static, 似乎編譯不過呀 @@

就算静态编译,运行也会提示No such file... 吧,
作者: yangze    时间: 2016-7-22 10:31
woody.lee 发表于 2016-5-12 13:09
謝謝大神,
單純加 -static, 似乎編譯不過呀 @@

就算静态编译,运行也会提示No such file... 吧,




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1