2010-03-17 4 views
3

Ce que je l'ai fait, mais il en résulte des erreurs:statiquement Qt 4.6.2 Compiling

1: Dans win32-msvc2008 \ qmake.conf Je mis QMAKE_CFLAGS_RELEASE = -O1 -Og -GL -MD

2: De MSVC2008 CMD je lance vcvarsall.bat x86 et vcvars32.bat "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

3: A partir de Qt 4.6.2 CMD j'exécutez la commande suivante

C:\Qt\4.6.2>configure -release -nomake examples -nomake demos -no-exceptions -n o-stl -no-rtti -no-qt3support -no-scripttools -no-openssl -no-opengl -no-webkit -no-phonon -no-style-motif -no-style-cde -no-style-cleanlooks -no-style-plastique -no-sql-sqlite -platform win32-msvc2008 -static -qt-libjpeg -qt-zlib -qt-libpng

puis nmake

Cependant, je me suis retrouvé à chaque fois que ces erreurs:

link /LIBPATH:"c:\Qt\4.6.2\lib" 

/LIBPATH:"c:\Qt\4.6.2\lib" /NOLOGO /INCR EMENTAL:NO /MANIFEST /MANIFESTFILE:"tmp\obj\release_static\assistant_adp.interme diate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Micro soft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df ' language='' processorArchitecture=''" /OUT:......\bin\assistant_adp.exe @C :\DOCUME~1\Geeko\LOCALS~1\Temp\nm3F8.tmp fontpanel.obj : MSIL .netmodule or module compiled with /GL found; restarting li nk with /LTCG; add /LTCG to the link command line to improve linker performance main.obj : error LNK2001: unresolved external symbol "class QObject * __cdecl qt _plugin_instance_qjpeg(void)" ([email protected]@[email protected]@XZ) ......\bin\assistant_adp.exe : fatal error LNK1120: 1 unresolved externals

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN \link.EXE"' : return code '0x460' Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN \nmake.exe"' : return code '0x2' Stop.

NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.

NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.

NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.

Merci en acte.

Répondre

1

J'ai essayé de le faire avec MS VS 2008 et cela a fonctionné. C: \ Qt \ 4.6.2> configurer -release -static -opensource -no-fast -no-exceptions -no-accessibility -no-rtti -no-stl -no-opengl -no-openvg -no -incredibuild-xge -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -no-style-windowsce -no-style-windowsmobile -no-style-s60 -no-gif -no-libpng -no-libtiff -no-libjpeg -no-libmng -no-qt3support -no-mmx -no-3dnow -no-sse -no-sse2 -no-iwmmxt -no-openssl -no-dbus -plateforme win32-msvc2008 -arch fenêtres -non-phonon -no-phonon-backend -no-multimédia -no-audio-backend -no-script -no-scripttools -webkit -no-déclaratif

Cependant, j'obtiens ces erreurs lors de la création d'un projet lié de manière statique à QWebKit:

1> Création de la bibliothèque C: \ Utilisateurs \ Geeko \ Desktop \ Qt \ TestQ \ Libération \ TestQ.lib et objet C: \ Utilisateurs \ Geeko \ Desktop \ Qt \ TestQ \ Libération \ TestQ.exp

1> QtWebKit .lib (PluginPackageWin.obj): erreur LNK2019: symbole externe non résolu _VerQueryValueW @ 16 référencé dans la fonction "classe WebCore :: String __cdecl WebCore :: getVersionInfo (void * const, classe WebCore :: String const &)" (? getVersionInfo @ WebCore @@ YA AVString @ 1 @ QAXABV21 @@ Z)

1> QtWebKit.lib (PluginPackageWin.obj): erreur LNK2019: symbole externe non résolu _GetFileVersionInfoW @ 16 référencé dans la fonction « private: bool __thiscall WebCore :: PluginPackage: : fetchInfo (void) "(? fetchInfo @ PluginPackage @ WebCore @@ AAE_NXZ)

1> QtWebKit.lib (PluginPackageWin.obj): erreur LNK2019: symbole externe non résolu _GetFileVersionInfoSizeW @ 8 référencé dans la fonction "private: bool __thiscall WebCore :: PluginPackage :: fetchInfo (void)" (? FetchInfo @ PluginPackage @ WebCore @ @AAE_NXZ)

1> QtWebKit.lib (PluginDatabaseWin.obj): erreur LNK2019: symbole externe non résolu __imp__PathRemoveFileSpecW @ 4 référencé dans la fonction "WebCore class :: chaîne __cdecl WebCore :: safariPluginsDirectory (void)" (safariPluginsDirectory @ WebCore @@ YA AVString @ 1 @ XZ)

1? > QtWebKit.lib (PluginDatabaseWin.obj): erreur LNK2019: symbole externe non résolu __imp__SHGetValueW @ 24 référencé dans la fonction "void __cdecl WebCore :: addWindowsMediaPlayerPluginDirectory (classe WTF :: Vector &)" (? AddWindowsMediaPlayerPluginDirectory @ WebCore @@ YAXAAV? $ Vecteur @ vstring @ WebCore @@ $ 0A @@ WTF @@@ Z)

1> QtWebKit.lib (PluginDatabaseWin.obj): LNK2019 d'erreur: symbole externe non résolu __imp__PathCombineW @ 12 référencé dans la fonction « vide __cdecl Webcore :: addMacromediaPluginDirectories (classe WTF :: Vecto r &) »(addMacromediaPluginDirectories @ WebCore @@ YAXAAV $ Vector @ vstring @ WebCore @@ $ 0A @@ WTF @@@ Z)

1> C:? \ Users \ Geeko \ Desktop \ Qt \ TestQ \ Release \ TestQ.exe: erreur irrécupérable LNK1120: 6 externes non résolus

Ai-je besoin de vérifier quelque chose dans les options du projet Qt? J'ai vérifié QtCore, QtGui, Network et WebKit.

+0

Webkit ne peut pas être construit avec un drapeau statique! – Viet

+0

En fait, j'ai réussi à le compiler statiquement – geeko

0

Essayez la définition de ces variables d'environnement:

  • QTDIR: c: \ Qt \ 4.6.2 ou partout où vous avez décompressé les sources Qt.
  • QMAKESPEC: win32-msvc2008
  • %QTDIR%/bin au PATH

Et utiliser le 'Visual Studio 2008 Invite de commandes' (dans le menu Outils dans VS2008) au lieu de Qt un.

+0

Merci pour votre réponse. C'est ce que j'ai. Il semble qu'il y ait quelques progrès si :) Des pensées? BTE je suivais ceci: http://www.formortals.com/build-qt-static- c1xx: erreur fatale c1027: Inconsistance pour/Ym entre la création et l'utilisation d'en-tête précompilé de qsequentialanimationgroup.cpp c1xx: fatale erreur c1027: Inconsistance pour/Ym entre la création et l'utilisation d'en-tête précompilé de qparallelanimationgroup.cpp c1xx: c1027 d'erreur fatale: Inconsistance pour/Ym entre la création et l'utilisation d'en-tête précompilé qpauseanimation.cpp – geeko

+0

Les incohérences peuvent être causés par l'objet quitté d'une compilation précédente. Avez-vous nettoyé le répertoire Qt? - BTW votre lien mène à une erreur 404 ... – gregseth

+0

Salut à nouveau, j'ai essayé nmake propre puis nmake cette fois mais encore: c1xx: erreur fatale C1027: Valeurs incohérentes pour/Ym entre la création et l'utilisation de l'en-tête précompilé Erreur fatale U1077: '"c: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ BIN \ cl.EXE"': code de retour '0x2' Stop. NMAKE: erreur irrécupérable U1077: '"c: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ BIN \ nmake.exe"': code retour '0x2' Stop. NMAKE: erreur fatale U1077: 'cd': code retour '0x2' Stop. le site est http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/ – geeko

0

Avez-vous considéré les types std :: string que Qt choisit par défaut?

C'est un petit commutateur de compilateur -Zc: wchar_t- qui définit explicitement wchar_t comme un short non signé au lieu d'un type intégré. Si vous omettez le - à la fin, c'est-à-dire -Zc: wchar_t il change et pourrait être plus compatible avec votre projet.

Questions connexes