静态编译的好处是发布exe时不用附带一堆Qt的dll了。
现在我用用到了Qt编写的一个dll,如果仍然想不附带Qt的dll,那么这个dll也要静态编译。
在pro文件中加入CONFIG+=dll,编译套件选择静态的Qt库,这样就编译出了静态的dll。
可是我调用这个dll中的某个函数时(这个函数new了一个widget),报错:QWidget: Must construct a QApplication before a QWidget。实际上我的exe里一定是构造了QApplication的,dll和exe都是release编译,而且我试了动态编译的dll和exe是可以正常用的,有哪位大神知道原因吗?