Choisissez toujours un titre qui dessine dans un programmeur.Qt4 compilation statique et erreurs impaires avec les choses qui se passent avant même qu'elles ne devraient exister
Quoi qu'il en soit, je suis sous Linux et je compilé les libs qt4.7.1 utilisant ./configure -static démos -nomake -nomake exemples -nomake outils -prefix/local/qt/qtstatic
la construction et installation tout s'est bien passé, et je l'ai mis en place dans qt créateur afin que je puisse construire avec lui. Construire n'importe quelle application fonctionne bien, mais quand je lance l'application, il me donne une erreur.
QWidget: doit construire un QApplication devant un QPaintDevice Aborted
Je comprends que cela signifie un objet statique tente d'utiliser une classe (QPaintDevice) qui doit QApplication être appelé d'abord, et puisque les objets statiques sont traité avant l'application réelle cela va évidemment échouer, La première ligne après mon main() est la QAplication, mais je sais que cela ne fait pas de différence, Mon .pro contient CONFIGURE + = statique, et j'ai défini statique dans le programme principal, Qt4 ne m'aime pas.
Comment puis-je résoudre ce problème afin que les objets statiques ne deviennent pas complètement fous comme ça.
#include <QtGui/QApplication>
#include "microbrowse.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
microbrowse w;
w.show();
return a.exec();
}
est le principal, mais c'est probablement pas important, le principal est à peu près la même chose pour toutes les applications QT faites par le créateur qt, à l'exception microbrowse est le nom de ce que votre travail sur de widgets. Le widget microbrowse est l'ensemble du programme, tout ce qu'il fait est de créer le QApplication, et de dimensionner microbrowse.
Pourriez-vous poster votre photo principale(), cela pourrait peut-être être utile. – Live
N'êtes-vous pas supposé déclarer microbrowse sur la pile? 'microbrowse * w = new microbrowse(); w-> show(); ' – Evan
@Evan: Votre code crée microbrowse sur le tas, pas la pile. Mais cela ne devrait pas avoir d'importance ici - le même constructeur est appelé en même temps. L'important est que microbrowse ne soit pas statique. Le code d'OP me va bien. Je soupçonne que le problème est dans l'implémentation de microbrowse. – TonyK