Ich arbeite an einem kleinen Projekt, um zu versuchen, den Code Source Engine 2013 unter der Qt Creator IDE arbeiten zu lassen. Mein ultimatives Ziel ist es, daraus ein CMake-Projekt zu machen, um Valves limitiertes VPC-System auszuwerfen, obwohl ich noch nicht genau weiß, wie das funktioniert, also mache ich einfache Schritte.Neudefinition von strdup Funktion Hat bereits einen Body
Ich bin es gewohnt, unter dem MSVC++ 2013 Compiler zu kompilieren, also das ist was ich benutze, und ich bin auf diese letzte Frage gestoßen, ich weiß nicht, wie ich damit umgehen soll. Was ich zuerst mache, wenn es nicht unter dem vorgesehenen Compiler kompiliert, mache ich es offensichtlich falsch, und ich sollte den Code noch nicht ändern müssen.
Valve hat diese memoverride.cpp, die ein char * __ cdecl _strdup (const char * string) hat. Wenn ich es auskommentiere, kompiliert der Code ganz gut, also ist dies das letzte Problem, mit dem ich es zu tun habe.
Aus dieser Funktion "Überschreibung" Ich erhalte die folgenden zwei Fehler:
C2084: Funktion ‚char MemAlloc_StrDup (const char) hat bereits einen Körper
C2732: Verknüpfung Spezifikation frühere Spezifikation widerspricht für 'MemAlloc_StrDup'
Kennt jemand eine notwendige Compiler-Option, einige Standard-Bibliothek, die ausgeschlossen werden sollte, oder eine Präprozessor-Definition, die ich verwenden sollte, um dies zu umgehen? Ich habe versucht, den Code in Visual Studio zu kompilieren, und das unterdrückte Startup-Banner deaktiviert, so dass ich alle Optionen sehen konnte, die es passierte, aber ich versuchte sie alle, aber es schien keinen Unterschied zu machen.
Also hat jemand eine Idee?
Alle Informationen würden sehr geschätzt werden, danke!
TL, DR. * "memoverride.cpp" * Ist das C oder C++? –
Es ist C++. Wenn Sie jedoch vorschlagen, dass ich den Code mit externem "C" oder etwas bearbeite, ist das nicht die Antwort, nach der ich suche. Und komm, es ist nicht so lang. –
Ja ist es, das meiste ist nur Waffel. * "Ich bin es gewohnt, unter dem MSVC++ 2013 Compiler zu kompilieren, also verwende ich das hier" * –