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.in和dummypgm.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))或者什么?
你在使用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邮件列表,你会得到比这里更多的答案.