![QT for BeagleBone](https://istack.dev59.com/Gpv3m.webp)
![QMainWindow Error](https://istack.dev59.com/ZXObV.webp)
![Picture of my project](https://istack.dev59.com/LdLhF.webp)
在Win 7 / MSVC2015x64bit上使用Qt 5.8.0;
我有同样的问题,并找到了一种解决方法,即使不是最聪明的也可以:
1)打开您的projectname.pro文件
2)在
QT += core gui
和
greaterThan(QT_MAJOR_VERSION, X): QT += widgets
之间粘贴QT += widgets
所以这部分看起来像这样:
...
QT += core gui
QT += widgets
greaterThan(QT_MAJOR...
保存并关闭 .pro 文件,等待 Qt 自动读取文件更改并更新自身。
(如果您已禁用此选项,请尝试重新启动 Qt)
除此之外,将greaterThan(QT_MAJOR_VERSION, X): QT += widgets
中的“X”替换为前版本号也对我有效。(X = 您的主版本号 - 1
)
(如果使用Qt 5.x,请使用4代替5,使用Qt 3.x请将3替换为2,以此类推...)
我不知道这是否也适用于其他平台...
我希望至少能帮助一个遇到相同问题的人。;)
问候Zitro
如果你在编译Qt源代码时遇到了一些错误,或者缺少某些文件,请尝试在Qt的包含目录中搜索QMainWindow.h。似乎它位于/usr/local/qt4.8.2-armhf/include
。例如,你可以像这样搜索:find * /usr/local/qt4.8.2-armhf/include/ | grep QMainWindow
。
std::cout << "hi\n"
,并使用命令行中的交叉编译器gcc在设备上运行。/usr/local/qt4.8.2-armhf/bin/qmake path/to/your/pro/file && make
,如果一切正常,则进行下一步。/usr/local/oecore-i686/sysroots/armv7ahf-vfp-neon-angstrom-linux-gnueabi/
在这个目录中有"bin"和"lib"文件夹,里面装满了ARM可执行文件和ARM库文件,这就是所谓的"sysroot",它是你的设备文件系统克隆到交叉编译器中的一部分,可以帮助你链接应用程序。同时,请确保在Qt Creator首选项中为交叉编译设置正确的qmake路径,应该像这样:/usr/local/qt4.8.2-armhf/bin/qmake
也许您的QT Creator版本已经过时了。如果您安装了与项目不兼容的QT Creator版本,可能会导致项目损坏。您可以在软件中心下载最新版本的QT Creator。
您还需要确保您的QT是最新的。请使用软件更新器进行检查。
我找到了这个链接,您可能想要查看一下:derekmolloy.ie/beaglebone/qt-with-embedded-linux-on-the-beaglebone/#Source_Code
在Windows上,请检查您的项目文件夹是否有像 (、) 或 # 这样的奇怪字符...