Was ist msvcrt.lib?
-
Hallo!
Ich hatte bisher immer folgendes Problem:
Wenn ich versucht habe in einer C++ .NET-Klassenbibliothek mittels new eine Instanz einer unmanaged Klasse anzulegen habe ich einen Linker-Error erhalten ("nicht aufgelöstes externes Symbol: new"). In einer .NET WindowsForms-Applikation ist es hingegen gelaufen.Jetzt habe ich herausgefunden wie ich das Problem lösen kann: ich muss die Datei msvcrt.lib linken (ist irgendwo im Internet gestanden.
Jetzt frage ich mich nur: warum? Was ist denn in dieser Bibliothek msvcrt.lib definiert? Bei normalen Win32-Applikationen oder .NET-WinForms-Programmen ist sie auch nicht gelinkt und der New-Operator funktioniert problemlos. Es ist nur bei Klassenbibliotheken notwendig.
Weiß jemand warum bzw. was die Datei macht?
Wie gesagt: es funktioniert jetzt. Mich interessiert es nur und ich mag es außerdem nicht einfach ein Problem zu lösen, indem ich irgendwas linke, ohne zu wissen was ich da mache.
Danke!
mfg
-
Microsoft Visual C++ Run-Time Library
msvcrt.lib
Das brauchst du glaub ich nur dann, wenn du dein Programm statisch linkst, d.h die Funktionen nicht aus einer Dll mit anderen Programmen teilen willst/kannst. Dafür wird dein Programm aber auch aufgeblasen...