Einzelnen Beitrag anzeigen

dbdeath74

Registriert seit: 30. Aug 2005
53 Beiträge
 
#8

Neues aus der dll hell von MS

  Alt 21. Nov 2006, 11:47
Hallo,

nun weiß ich warum man den release modus benutzen sollte *g
VC++ benutzt spezielle debug dlls im debug modus die normalerweise nicht auf Nicht-Entwicklungsrechnern vorhanden sind.

Nun bin ich aber auf die nächste Grausamkreit von MS gestossen ...
Die Abhängigkeit von speziellen dlls die von der Entwicklungsumgebung abhängen....

Dazu kommt noch das man ab XP diese dlls nicht einfach dem Program beilegen kann, sondern das sie speziell installiert werden müssen.

Zitat:
The second change is that projects created with VC2005 IDE now dynamically link to the C-runtime libraries by default. In VC2003, only MFC and managed C++ apps dynamically linked to the CRTs by default.

Finally, the C and C++ runtimes are now implemented as Side-by-Side DLLs. It's no longer enough to copy MSVCR80.DLL/MSVCP80.DLL/MSVCM80.DLL (from now on called the CRT DLLs) into the System32 directory. You must now load the CRT DLLs through a manifest. If you attempt to load the CRT DLLs without using a manifest, the system will detect this, raise an R6034 assertion, and abort(). That's why the CRT DLLs are now located in WinSXS and not in the System32 directory.
Die Problematik ist auch hier beschrieben: link

Es gibt aber einen Workaround.
Damit meine dll trotzdem auf anderen rechnern läuft musste ich nun die crt dlls dazupacken, eine xml manifest datei anlegen und dann läuft es auch auf jedem Rechner.

Diese Vorgehensweise ist aber sehhhhr unbefriedigend, vor allem da ich nichts davon in meiner dll verwende *grr. Der Orginal Code ist von 2000, ich benutze nur stdio.h und windows.h
Nur weil MS der Meinung ist das müsste so sein wenn man mit VC2005 etwas kompiliert

Kann mir jemand eine gute kostenlose C++ Entwicklungsumgebung empfehlen mit der ich eine ganz simple dll erstellen kann?

Gruß Oliver
  Mit Zitat antworten Zitat