Я пытаюсь использовать Pelux 3.0 SDK для Raspberry Pi3, основываясь на документации https://pelux.io/software-factory/master/swf-blueprint/docs/articles/sdk/configure-qtcreator.html
Процесс установки понятен и успешен, но следующие пункты я не могу выполнить.
QtCreatorможет использовать набор инструментов для кросс-компиляции, подобный тому, который представлен в PELUX SDK, для компиляции программного обеспечения для архитектуры, отличной от той, на которой он работает.Конфигурирование всей цепочки инструментов занимает немного времени, но должно быть выполнено только один раз.
Open the Tools->Options window and go to the Build & Run tab
Вкладка Build & Run не содержит наборов.В моей версии QtCreator под Kits.
Я следовал шагам Compilers, Debuggers и CMAKE и начал добавлять набор следующим образом:
Выберите вкладку Kits и щелкнитеКнопка добавления.
Назовите свой новый комплект, например, "PELUX Raspberry Pi"
В качестве типа устройства выберите Generic Linux Device
В качестве устройства выберите цель, которую вы определили ранее
Для Sysroot, используйте кнопку Обзор ... и выберите папку, путь к которой является результатом эха.Команда $ {SDKTARGETSYSROOT} выполнялась в терминале SDK
Выберите ранее определенные компиляторы PELUX C и C ++ из соответствующих комбинированных полей
ВыберитеНа вкладке «Наборы» нажмите кнопку «Добавить».
Назовите свой новый комплект как «PELUX Raspberry Pi»
В качестве типа устройства выберите Generic LinuxУстройство
В качестве устройства выберите цель, которую вы определилиранее
Для Sysroot используйте кнопку Обзор ... и выберите папку, путь к которой является результатом команды echo $ {SDKTARGETSYSROOT}, запущенной в терминале SDK
Выберите ранее определенные компиляторы PELUX C и C ++ из соответствующих полей со списком
Измените среду этого набора на результат команды env, запущенной вТерминал SDK
Если CC и CXX имеют флаги компилятора по умолчанию, они должны быть добавлены в CFLAGS и CXXFLAGS. Чтобы заменить CFLAGS и CXXFLAGS, используйте результат следующих команд, запущенных в терминале SDK
echo $ CC |awk -vc = "$ CFLAGS" '{first = $ 1;$ 1 = "";print "CFLAGS =" $ 0, c;} 'echo $ CXX |awk -vc = "$ CXXFLAGS" '{first = $ 1;$ 1 = "";print "CXXFLAGS =" $ 0, c;} '
- Выберите ранее определенный отладчик из соответствующего поля со списком
- Выберите ранее определенный CMake из соответствующего поля со списком
Проблема
Следующий шаг не работает, потому что QtCreator CMAKE выдает мне сообщение об ошибке.
Шаг устранения неполадок
- Измените конфигурацию CMake, добавив строку CMAKE_SYSROOT: STRING = с заменой на фактический путь sysroot (результат echo $ {SDKTARGETSYSROOT})
Моя конфигурация CMAKE
CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
CMAKE_SYSROOT:STRING=/sdk/sysroots/cortexa7hf-neon-vfpv4-pelux-linux-gnueabi
QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
Сообщение об ошибке
*** Неизвестная опция -DCMAKE_CXX_COMPILER: STRING = / sdk / sysroots / x86_64-peluxsdk-linux / usr / bin / arm-pelux-linux-gnueabi / arm-pelux-linux-gnueabi-g ++