始终选择吸引程序员的标题。
无论如何我正在使用linux并且我使用编译了qt4.7.1库 ./configure -static -nomake demos -nomake examples -nomake tools -prefix / local / qt / qtstatic
构建和安装都很顺利,我在qt creator中设置它,所以我可以用它构建。构建任何应用程序都可以正常工作,但是当我运行应用程序时,它会给我一个错误。
QWidget:必须在QPaintDevice之前构造QApplication 中止
我理解这意味着静态对象正在尝试使用需要首先调用QApplication的类(QPaintDevice),并且由于静态对象在实际应用程序之前都已处理,这显然会失败,第一行之后我的main()是QAplication,但是我知道这没有什么区别,我的.pro确实包含了 CONFIGURE + = static,我在主程序中定义了静态,Qt4只是不喜欢我。
我该如何修复它,这样静态对象就不会像这样疯狂了。
#include <QtGui/QApplication>
#include "microbrowse.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
microbrowse w;
w.show();
return a.exec();
}
是主要的,但这可能并不重要,qt creator制作的所有QT应用程序的主要内容几乎相同,除了microbrowse是你工作的任何小部件的名称。小部件微浏览器是整个程序,所有这一切都是创建QApplication和维度微浏览器。
答案 0 :(得分:0)
我认为类microbrowse
包含一个不可能静态链接的对象。还要检查你的Qt版本。您应该在配置时添加./configure -relase
或-debug
。