Seit Update 2 unterstützt Visual C++’ STL kein
/RTCc mehr. Das ist die Compiler-Option, die bei
int x = …;
short y = short(x);
zur Laufzeit prüft, ob bei der Konvertierung Daten verloren gehen. Äußerst nützlich, um Integer Overflow Attacks zu finden und Fixed-Point-Arithmetik zu debuggen … und jetzt quasi nicht mehr brauchbar (außer, man fügt obskure
#defines hinzu, um drumherum zu bauen).
Ich nutze die STL nur noch in Assimp und anderen Drittprojekten, aber trotzdem … was für eine Scheiße.
Nachtrag: Und
hid.lib haben sie auch noch entfernt oder verschoben. Jedenfalls für 32-Bit-Programme. Jetzt kann ich keine Joysticks mehr ansteuern … aber x64 linkt noch immer problemlos … WTF
Nachtrag 2: Sie haben mein x86-Projekt auf das Windows 10-SDK hochgepatcht, und das enthält keine
hid.lib. Die x64-Version kompiliert noch mit dem Windows 7-/8-/8.1-SDK, und die enthalten jeweils
hid.lib. WTF WTF was soll das; erst eine Bibliothek aus dem SDK löschen und dann bei Visual C++-Patches die Bibliothekspfade auf andere SDKs ändern, aber nur bei der Hälfte der Konfigurationen?! Da kann ich ja bald auf CMake umsteigen …
Nachtrag 3: Es ist der Windows-XP-Kompatitibilitätsmodus, der kaputtgegangen ist. Stelle ich auf Vista oder höher um, findet er die Bibliothek. Warum
Nachtrag 4: Oh lol. Diversen Usern geht mit Update 2 CTP der XP-Modus kaputt (siehe Kommentare
hier). Sie eröffnen ein Ticket
hier. Dann wird ein Workaround hochgeladen, aber irgendwie ist das Ticketsystem kaputt und niemand kann ihn sehen. Irgendwann stellen sie ihn dann als ZIP-Download zur Verfügung. Die ZIP besteht aus einer Sammlung von Property Sheets für MSBuild. Soll ich meine Props jetzt durch die Dateien in der ZIP ersetzen? Und jedem meiner User sagen, sie müssen das selbe machen, um das Programm kompilierbar zu kriegen? Hmmm …