Fehler beim einbinden der MFC als Static Library
-
Hallo zusammen,
mich plagt zur Zeit folgendes Problem:
Ich habe ein Win32 Consolen Projekt mit VC 2005 geschrieben.
Neben der MFC wird dort noch die Mysqlpp.dll verwenden.
Binde ich die MFC nun als shared Lib ein funktioniert alles bestens,
versuche ich jedoch sie als static Lib einzubinden tritt folgender Fehler auf1>***\db_updater.cpp : fatal error C1001: An internal error has occurred in the compiler. 1>(compiler file 'F:\SP\vctools\compiler\utc\src\P2\p2symtab.c', line 5779)was mich in diesem zusammenhang wundert ist, dass F eins meiner CD-Laufwerke ist ...
desweiteren tritt der Fehler nur auf wenn folgender Befehl enthalten ist:mysqlpp::Query query = con.query();an was könnte das liegen ? als shared dll funktioniert es ja ...
und noch eine 2te Frage: welche DLLs muss ich bei "shared MFC dlls" mit zu der exe packen ? habe da schon verschiedene getestet (auf einem Rechner ohne Entwicklungsumgebung) und irgendwie komme ich da auch nicht recht weiter ...
Gruß
Mike
-
Versuch mal einen Rebuild All!
-
habe ich bereits mehrfach versucht ... ohne Erfolg.
Nun habe ich versucht mal das Programm (mit shared MFC) unter einem mit VMWare aufgesetzten WinXP Pro (DEU) zum Laufen zubringen ... auch ohne Erfolg.
Habe sämtlichen MFC und CRT dlls mit zur exe gepackt. Laut "depends.exe" wird auch alles korrekt geladen. Lediglich die mysqlpp.dll schmeisst folgenden Fehler (sinngemäß):Error: Side-Configuration error. MYSQLPP.DLL kann nicht geladen werdennur sagt mir der Fehler leider garnichts! werde nun mal versuchen wie das mit WinXP Pro (EN) aussieht (Entwicklungsrechner ist englisches WinXP)
so long
Mike
-
hier nochmal die genaue Fehlermeldung
Error: The side-by-side configuration information for MYSQLPP.DLL contains errors. The app has failed to start
-
Schmeiß mal Depends an ob wirklich alle DLLs unabhängig sind von CT und MFC DLLs. Ich vermute nichg.
Es genügt nicht die DLLs (für CRT und MFC) zu kopieren. Unter XP müssen diese in das Side by Side Verzeichnis. Du bist gezwungen vcredist_x86.exe auszuführen.
Oder Du arbeitest so, wie ich es hier beschrieben habe:
http://www.codeproject.com/cpp/PrivateAssemblyProjects.asp
-
Schau mal in den EventLog rein, da steht drin, was die Ursache für den SxS Fehler ist...