Seite 1 von 1

Problem beim Komplilieren

Verfasst: 22. Dezember 2008 09:43
von MasterMito
Salut,

habe hier ein kleines Problem beim kompilieren. Ich habe mein Projekt unter Eclipse (aktuelleste Version) und Qt (aktuellste Version) mit Plug-In programmiert.
Wenn ich Debug kompiliere funktioniert das Programm, es startet, Buttons funktionieren, alles dufte.
Wenn ich das Projekt nun aber als Release File erstelle, kommt immer folgende Fehlermeldung:

Code: Alles auswählen

Der Prozedureinsprungspunkt " _Z21qRegisterResourceDataiPKhS0_S0_ " wurde in der DLL "QtCore4.dll" nicht gefunden.
Alle Include Paths wurden gesetzt und wie gesagt, Debug geht. Habe halt keine Lust 60MB DLL's mitzuschicken.
Kompliliert wird unter Windows Vista Business.
Source Code kann ich auf Anfrage posten.

Google und Forensuche habe ich schon bemüht, aber alles wenig hilfreich.

Merci schonmal.
Cee Ya[/code]

Verfasst: 22. Dezember 2008 10:23
von franzf
Hier ein Google-Suchergebnis nach "_z21qregisterresourcedataipkhs0_s0_"
http://tracker1.transamrit.net/files/logsQt/qt.log.20080511 hat geschrieben:[09:27] <gigabytes> but i get a runtime error
[09:27] <gigabytes> that says that it cannot find the entry point _Z21qRegisterResourceDataiPKhS0_S0_ in the dynamic linking process with QtCore4.dll
[ ... ]
[09:28] <gigabytes> what is that message?
[09:28] <jpnurmi> gigabytes: you compiled against 4.4 but you have 4.3 in PATH
[09:28] <gigabytes> jpnurmi, I haven't 4.3 installed
[09:28] <jpnurmi> gigabytes: do you have multiple versions of Qt installed?
[09:28] <gigabytes> no I've removed 4.3 before installing 4.4
[09:28] <jpnurmi> gigabytes: do you have Qt DLLS somewhere in system dirs?
[09:29] <jpnurmi> gigabytes: open up the executable in Dependency walker and see where it loads the DLLs from
[09:29] <jpnurmi> !depends
[ ... ]
[09:29] <gigabytes> jpnurmi, I'll do that
[ ... ]
[09:32] <gigabytes> jpnurmi, I had some 4.3 DLLs in the release/ directory of my source, I don't know why..
[09:33] <gigabytes> but shouldn't qt be binary-compatible between different releases ?
[09:33] <gigabytes> jpnurmi, however
[09:33] <gigabytes> I get a crash now
[09:33] <jpnurmi> gigabytes: yes, it is _backwards_ binary compatible
[09:34] <gigabytes> The application runs but immediatly crash
[09:34] <jpnurmi> gigabytes: which means, an app compiled with Qt 4.3 runs with Qt 4.4
[09:34] <jpnurmi> but because new versions introduce new stuff, new symbols, you cannot run with older versions than you linked against
[09:35] <jpnurmi> gigabytes: run the application via debugger to see where it crashes and why
[09:35] <gigabytes> yes
[09:36] <gigabytes> thanks
[09:36] <gigabytes> bye bye
(Ich hoffe du verstehst Englisch ;))

Grüße
Franz

Verfasst: 22. Dezember 2008 11:05
von MasterMito
da steh ich ja mal wieder toll da ;-)

hatte die Fehler Meldung 1:1 (das _z21qregisterresourcedataipkhs0_s0_) bei google eingegeben und nichts. garnichts. gibbet doch nicht. Nun ja. Der PC auf dem entwickelt wurde, hat vor Qt 4.4.3 noch nie ein anderes Qt draufgehabt. Ich habe nochmal die Bibliotheken auf Version überprüft. Alle sind 4.4.3

Verfasst: 22. Dezember 2008 11:13
von franzf
Kann es denn nicht sein, dass du irgend ein Programm installiert hast, welches seine Qt4-libs in ein System-Verzeichnis kopiert hat?

Hast du dein Qt selber kompiliert oder ist das mit dem installer von Nokia auf de Platte gewandert?

Verfasst: 22. Dezember 2008 13:49
von MasterMito
Ich habe mal nach den üblichen Qt-Libaries gesucht. Die sind nur in dem Qt Ordner die damals aus dem installer rausgewandert sind. Hab da also nix selber kompiliert.

Verfasst: 22. Dezember 2008 13:50
von AuE
was sagt denn der dep. Walker?

Also welche Dll will dein prog laden und welche Versionen sind das (also nur die qt´s)

Verfasst: 23. Dezember 2008 09:48
von MasterMito
So, dep. walker angeschmissen. Er meint ihm fehle folgende DLL:

msvcr80.dll

Die hat ja an sich nichts mit Qt zu tun.
Hab jetzt mal ne Vm hochgezogen und werde mal schauen wie es sich da verhält.

Oder kan es evtl. daran liegen das im release Ordner die Qt DLL's fehlen? vom USB Stick aus tut es, habe ich gerade festgestellt