Конфигурация 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 BR2_PACKAGE_DUMMYPGM
    bool "dummypgm"
    help
      Foo Software.

      http://www.foo.com

манекенpgm.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