使用Buildroot进行Qmake配置

Jam*_*mes 1 qmake embedded-linux buildroot

我试图向使用Qt和Boost的Buildroot添加一个包.该软件包使用qmake生成一个Makefile,这部分似乎正在工作,但是当我构建说:

Could not find qmake configuration file qws/linux-arm-g++.
Error processing project file: MsgDisplay.pro
Run Code Online (Sandbox Code Playgroud)

我的包的内容如下:

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
Run Code Online (Sandbox Code Playgroud)

我添加了一个包目录dummypgm,其中包含Config.indummypgm.mk文件.文件的内容是:

Config.in:

config BR2_PACKAGE_DUMMYPGM
    bool "dummypgm"
    help
      Foo Software.

      http://www.foo.com
Run Code Online (Sandbox Code Playgroud)

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))
Run Code Online (Sandbox Code Playgroud)

由于包是本地托管的,我只需将其DummyPgm-0.1.0.tar.gz放在dl目录中.

我还添加了以下内容package/Config.in:

source "package/dummypgm/Config.in"
Run Code Online (Sandbox Code Playgroud)

我有点迷失为什么这不起作用,如果有人能帮助我,我会非常感激.还有,有什么方法可以打电话$(eval $(qmake-package))或者什么?

Tho*_*oni 5

你在使用Qt4还是Qt5?你package/dummypgm/Config.in应该有一个depends on,你dummypgm.mk应该有一个DUMMYPGM_DEPENDENCIES = qtDUMMYPGM_DEPENDENCIES = qt5base.

我的直觉是你正在使用Qt5.在这种情况下,你不应该打电话$(QT_QMAKE),但是$(QT5_QMAKE).

有关示例,请查看http://git.buildroot.net/buildroot/tree/package/qextserialport/qextserialport.mk.请注意,此示例同时支持Qt4和Qt5,可能在您的情况下,您只需要其中一个.

此外,你应该真正订阅Buildroot邮件列表,你会得到比这里更多的答案.