CMake и готовый набор инструментов linaro: crti.o не найден
Я хочу кросс-компиляцию для raspberrypi2, используя cmake и предварительно скомпилированный набор инструментов linaro, который я скачал отсюда: git clone https://github.com/raspberrypi/tools
Когда я пытаюсь сделать cmake для моего проекта, я получаю следующую ошибку:
/myhome/libs/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-
gnueabihf-raspbian-x64//bin/arm-linux-gnueabihf-gcc
--sysroot=/myhome/libs/raspberry/tools/
arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/libc/
CMakeFiles/cmTC_9fb02.dir/testCCompiler.c.o -o cmTC_9fb02 -rdynamic
/myhome/libs/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-
gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../..
/../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o:
No such file or directory
Этот файл присутствует в следующем каталоге:
/myhome/libs/raspberry/tools/arm-bcm2708/gcc-linaro-arm-
linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/libc/
usr/lib/arm-linux-gnueabihf
Мой файл cmake toolchain выглядит следующим образом
set(CMAKE_SYSROOT "/myhome/libs/raspberry/sysroot/")
set(tools "/myhome/libs/raspberry/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/")
set(CMAKE_C_COMPILER "${tools}/bin/arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "${tools}/bin/arm-linux-gnueabihf-g++")
set(CMAKE_EXPORT_COMPILE_COMMANDS=ON)
set(CMAKE_FIND_ROOT_PATH "${CMAKE_SYSROOT}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
В каталоге sysroot я смонтировал образ малины. Меня немного смущает вопрос, должен ли это быть корень изображения малины или путь к цепочке инструментов linaro.
Спасибо за вашу помощь
1 ответ
Хорошо, проблема была в том, что
set(CMAKE_SYSROOT "/myhome/libs/raspberry/sysroot/")
был пустой каталог, так как я смонтировал образ jessie в этот каталог, но после перезагрузки монтирование больше не было в этом каталоге.