Кросс-компиляция исходного файла C на Android Arm - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь сделать кросс-компилятор на языке C на мобильных устройствах из Windows, используя nim.Мне удалось до компиляции, но я не могу экспортировать / отправить его на свой телефон с помощью отладки по USB ниже. Это командный файл, который я создал ... Кто-нибудь может сказать мне, что не так?Я просто хочу скомпилировать напрямую на мое мобильное устройство, используя gcc или clang.

@echo off

set PATH=%PATH%;C:/Users/PCTechRinz/AppData/Local/Android/Sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin

 nim c --cpu:arm --os:android --compileOnly hello.nim

path = C:/cygwin/bin

g++ -I../sysroot/usr/include -I/path=D:/Installer/nim-0.19.0/lib -pie -o hello.bin hello.cpp stdlib_system.cpp

path = C:/Users/PCTechRinz/AppData/Local/Android/Sdk/platform-tools
 adb root
 adb push hello.bin /data/local/tmp/hello.bin
 adb shell 

cd /data/local/tmp/hello.bin
chmod 755 hello
./hello
pause

ниже - вот что я получаю

Hint: used config file 'D:\Installer\nim-0.19.0\config\nim.cfg' [Conf]
Hint: system [Processing]
Hint: hello [Processing]
Hint: operation successful (12267 lines compiled; 0.268 sec total; 10.773MiB pea
kmem; Debug Build) [SuccessX]
adb: error: failed to get feature set: no devices/emulators found
error: no devices/emulators found
The system cannot find the path specified.
'chmod' is not recognized as an internal or external command,
operable program or batch file.
'.' is not recognized as an internal or external command,
operable program or batch file.
Press any key to continue . . .

Я включил отладку по USB на своем телефоне

1 Ответ

0 голосов
/ 24 октября 2018

Для сборки под Android вы должны использовать набор инструментов Android.G ++ вашей системы ориентирован на Windows, а не на Android.

Я бы настоятельно рекомендовал использовать ndk-build или CMake, но если вам по какой-то причине нужно использовать Clang напрямую, вам следует использовать автономный набор инструментов .

...