Конфигуриране на Qmake с помощта на Buildroot

Опитах се да добавя пакет към Buildroot, който използва Qt и Boost. Пакетът използва qmake за генериране на Makefile, тази част изглежда работи, но получавам грешка, когато изграждам, казвайки:

Could not find qmake configuration file qws/linux-arm-g++.
Error processing project file: MsgDisplay.pro

Съдържанието на моя пакет е представено по следния начин:

DummyPgm
├── main.cpp
├── MsgDisplay.pri
├── MsgDisplay.pro
├── MsgDisplay.pro.user
├── MsgHandler.cpp
├── MsgHandler.h
├── MsgServer.cpp
├── MsgServer.h
├── Tcp
│   ├── TcpAddrPort.cpp
│   ├── TcpAddrPort.h
│   ├── TcpServer.cpp
│   ├── TcpServer.h
│   ├── TcpSocket.cpp
│   └── TcpSocket.h
└── Tools
    ├── Banner.cpp
    ├── Banner.h
    ├── IoExt.h
    ├── SeparateArgumentList.cpp
    ├── SeparateArgumentList.h
    └── SysTypes.h

2 directories, 20 files

Добавих директория с пакети, dummypgm, която съдържа Config.in и dummypgm.mk файлове. Съдържанието на файловете е:

Config.in:

config BR2_PACKAGE_DUMMYPGM
    bool "dummypgm"
    help
      Foo Software.

      http://www.foo.com

dummypgm.mk:

DUMMYPGM_VERSION = 0.1.0
DUMMYPGM_SOURCE = DummyPgm-$(DUMMYPGM_VERSION).tar.gz

define DUMMYPGM_CONFIGURE_CMDS
    (cd $(@D); $(QT_QMAKE)  MsgDisplay.pro)
endef

define DUMMYPGM_BUILD_CMDS
    $(MAKE) -C $(@D)
endef


$(eval $(generic-package))

Тъй като пакетът се хоства локално, просто поставих DummyPgm-0.1.0.tar.gz в директорията dl.

Добавих и следното към package/Config.in:

source "package/dummypgm/Config.in"

Малко съм изгубен защо това не работи, ако някой може да ми помогне, ще съм много благодарен. Също така, има ли някакъв начин да се обадя на $(eval $(qmake-package)) или нещо подобно?


person James    schedule 24.11.2014    source източник


Отговори (1)


Използвате ли Qt4 или Qt5? Вашият package/dummypgm/Config.in трябва да има depends on на един от тях, а вашият dummypgm.mk трябва да има DUMMYPGM_DEPENDENCIES = qt или DUMMYPGM_DEPENDENCIES = qt5base.

Моята интуиция е, че използвате Qt5. В този случай не трябва да звъните на $(QT_QMAKE), а на $(QT5_QMAKE).

Разгледайте http://git.buildroot.net/buildroot/tree/package/qextserialport/qextserialport.mk за пример. Имайте предвид, че този пример поддържа както Qt4, така и Qt5, вероятно във вашия случай ви трябва само един от двата.

Освен това наистина трябва да се абонирате за пощенския списък на Buildroot, ще получите много повече отговори, отколкото тук.

person Thomas Petazzoni    schedule 24.11.2014
comment
Благодаря, вчера се абонирах и изпратих писмо, но за съжаление не получих отговор. Днес ще опитам вашите предложения. - person James; 25.11.2014