VS2005 - Anwendungskonfiguration nicht korrekt
-
Zu diesem Thema kann man einige Threads im Netz und hier im Forum finden. Allerdings haben die mich noch nicht zu einer Lösung geführt.
Ich habe den Fehler nur bei der Debug und nicht bei der Release Version.
in das bin/debug Verzeichnis habe ich folgende Dateien kopiert:
Microsoft.VC80.DebugCRT.manifest
msvcm80d.dll
msvcp80d.dll
msvcr80d.dllwobei die erste den folgenden Inhalt hat
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<noInheritable></noInheritable>
<assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
<file name="msvcr80d.dll" hash="9062fecdbc9ab7df4d66e81b37e9cecdee037430" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">dsig:Transforms<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod>dsig:DigestValueg5HUX4P7M3mkZuWgfND7EdkmVgs=</dsig:DigestValue></asmv2:hash></file>
<file name="msvcp80d.dll" hash="cf233a4bb28335cd6b4f62b5947d119faefa5bcb" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">dsig:Transforms<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod>dsig:DigestValuelGYgPP6K9l5G0HBKTJ/Rlj2Vybg=</dsig:DigestValue></asmv2:hash></file>
<file name="msvcm80d.dll" hash="47021cd154192d51aad190daed426bf47156fa40" hashalg="SHA1"><asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">dsig:Transforms<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></dsig:DigestMethod>dsig:DigestValue1fLI6D1TNH6Hwc1D/toIuhn/R+4=</dsig:DigestValue></asmv2:hash></file>
</assembly>trotz dieser Dateien taucht der Fehler auf.
Warum? Was könnte ich sonst noch probieren?
Matthias
-
Dieser Thread wurde von Moderator/in phlox81 aus dem Forum Andere GUIs - Qt, GTK+, wxWidgets in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Linke doch statisch, dann hast Du gar keine Probleme...
http://www.kalmbach-software.de/screencasts/VC2008EE-StaticLinkCRT/Oder zeig uns mal *Dein* Manifest für die EXE...
-
Jochen Kalmbach schrieb:
Linke doch statisch, dann hast Du gar keine Probleme...
http://www.kalmbach-software.de/screencasts/VC2008EE-StaticLinkCRT/Dann bekomme ich Linker Fehler:
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert.
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert.
1>LINK : warning LNK4098: Standardbibliothek "MSVCRTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.Oder zeig uns mal *Dein* Manifest für die EXE...
Ich habe nur die obige Datei, die ich aus C:\Programme\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT kopiert habe.
Wie sollte *meine* Datei denn aussehen bzw. erstellt werden?Matthias
-
Du musst natürlich *alle* projekte/LIBs umstellen, damit sie statisch gegen die CRT gelinkt werden!
Bzgl. Deinem Manifest:
Schau mal in das Debug-Verzeichnis. Da müsste irgendwas mit ".manifest." vorhanden sein. Dies wird dann normalerweise in Deine EXE eingebettet. (siehe auch Linker-Einstellungen!)
-
Oft lohn sich ein Blick in das Ereignisprotokoll, dort steht welche Datei nicht gefunden wurde.
Depends.exe ist auch hilfreich.Manchmal ist die Ursache auch das mischen von Debug und Release Komponenten, die alle unterschiedliche Runtimes benötigen.
-
Jochen Kalmbach schrieb:
Du musst natürlich *alle* projekte/LIBs umstellen, damit sie statisch gegen die CRT gelinkt werden!
Das wäre dann bei mir vermutlich Qt und alle Bibliotheken für die Geräte von deinen einige von den Herstellern direkt sind worauf ich natürlich keinen Einfluss habe. Diese Option schließt sich damit wohl aus.
Jochen Kalmbach schrieb:
Bzgl. Deinem Manifest:
Schau mal in das Debug-Verzeichnis. Da müsste irgendwas mit ".manifest." vorhanden sein. Dies wird dann normalerweise in Deine EXE eingebettet. (siehe auch Linker-Einstellungen!)In dem Build Verzeichnis 'Build\QPiezoJenaControl\Debug' gibt es eine
'QPiezoJenaControld.exe.intermediate.manifest'mit dem Inhalt
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>auf meinem Rechner, wo das Programm ja auch schon immer startete werden folgende DLLs geladen:
Interessant dabei ist, dass die Dlls (msvcp80d.dll usw.) aus dem Verzeichnis des binaries gar nicht geladen werden
"QPiezoJenaControld.exe": "E:\Daten\Dev\SVN\repository\Cpp\Geräte\PiezoJena\QPiezoJenaControl\bin\debug\QPiezoJenaControld.exe" geladen, Symbole wurden geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\ntdll.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\kernel32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "E:\Daten\Dev\SVN\repository\Cpp\Geräte\PiezoJena\QPiezoJenaControl\bin\debug\QtCored4.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\user32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\gdi32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\ole32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\advapi32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\rpcrt4.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\msvcrt.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\ws2_32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\ws2help.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f\msvcp80d.dll" geladen, Symbole wurden geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f\msvcr80d.dll" geladen, Symbole wurden geladen.
"QPiezoJenaControld.exe": "E:\Daten\Dev\SVN\repository\Cpp\Geräte\PiezoJena\QPiezoJenaControl\bin\debug\QtGuid4.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\comdlg32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\shlwapi.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\comctl32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\shell32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\oleaut32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\imm32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\winmm.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\winspool.drv" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\Programme\Sophos\Sophos Anti-Virus\sophos_detoured.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\psapi.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\Programme\Sophos\Sophos Anti-Virus\sophos_detoured.dll" entladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\psapi.dll" entladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\uxtheme.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\MSCTF.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\Programme\ScanSoft\OmniPageSE2.0\OpHookSE2.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\version.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\Programme\Logitech\SetPoint\lgscroll.dll" geladen, Die Binärdaten wurden nicht mit Debuginformationen erstellt.
"QPiezoJenaControld.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcr80.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcp80.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\ntmarta.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\wldap32.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\samlib.dll" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\MSCTFIME.IME" geladen, Keine Symbole geladen.
"QPiezoJenaControld.exe": "C:\WINDOWS\system32\usp10.dll" geladen, Keine Symbole geladen.die Frage die sich mir daraus stellt ist, welche ich davon nun mitliefern muss.
Matthias
-
Hallo,
ich hatte das selbe Problem wie du. Ich habe damals die gleichen Datein kopiert wie du und auch alle schritte in den anleitungen befolgt jedoch hats nie geklappt. Ich habe dann die manifist datei geändert und dann hat es funktioniert. Vllt kannst du das ja auch mal probieren und erzählen obs geklappt hat. Hier der Inhalt:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <noInheritable></noInheritable> <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> <file name="msvcr80d.dll"/> <file name="msvcp80d.dll"/> <file name="msvcm80d.dll"/> </assembly>