Может быть, у меня глупый вопрос, но я застрял с этим вопросом.Я пытаюсь сделать кросс-компиляцию, используя clang-5.0 простой тестовой программы для цели aarch64-cros-linux-gnu:
int main(int argc, const char **argv)
{
return 0x2;
}
Итак, когда я запускаю clang с помощью следующей команды:
/home/alex/Dev/CustomToolchains/Google/clang-5.0/aarch64/usr/bin/clang --sysroot=/home/alex/Dev/CustomToolchains/Google/clang-5.0/aarch64/usr/aarch64-cros-linux-gnu -Qunused-arguments -grecord-gcc-switches -fPIE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -pie -fno-omit-frame-pointer main.cxx -o main3 -B/home/alex/Dev/CustomToolchains/Google/clang-5.0/aarch64/bin -target aarch64-cros-linux-gnu
Я получаю сообщение об ошибке:
ld.bfd: no input files
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Но когда я удаляю параметры --sysroot и -target, все в порядке.Я проверил --sysroot путь, и он существует, но я не уверен, что он правильный.clang docs говорит, что эта папка должна содержать каталоги bin, lib, include, но в каталоге sysroot есть только следующие папки:
lib lib64 NOTICE-eglibc NOTICE-gdb sbin sys-include usr var
Итак, как я могу указать правильный путь цепочки инструментов к clang для моей целитройной aarch64-cros-linux-gnu?или где я могу получить этот набор инструментов?
Большое спасибо за ответы.PS.Я новичок со всем персоналом, связанным с компиляцией Linux / Clang / Cros, поэтому прошу прощения за ошибки в моем вопросе.