Dies ist Teil einer Reihe von mindestens zwei eng verwandte, aber unterschiedliche Fragen. Ich hoffe, ich mache das Richtige, indem ich sie getrennt befrage.Erstellen von Visual C++ - App, die CRT-Funktionen nicht verwendet noch Referenzen einige
Ich versuche, meine Visual C++ 2008 App ohne die C-Laufzeitbibliothek zu arbeiten. Es ist eine Win32-GUI-App ohne MFC oder andere ausgefallene Sachen, einfach nur Windows-API.
Also setze ich Projekteigenschaften -> Konfiguration -> C/C++ -> Erweitert -> Standard-Bibliotheksnamen auslassen auf Ja (Compiler-Flag /Zl
) und neu erstellt. Lassen Sie uns so tun, als hätte ich eine geeignete Einstiegspunktfunktion geschrieben, die Gegenstand der my other question.
ist Ich bekomme zwei Linker Fehler; sie sind wahrscheinlich verwandt. Der Linker klagt über ungelöste externe Symbole __fltused
und _memcpy
in foobar.obj
. Unnötig zu sagen, verwende ich weder explizit in meinem Programm, aber ich verwende memcpy
irgendwo in foobar.cpp
. (Ich würde CopyMemory
verwendet haben, aber das stellt sich heraus #define
d zu sein, daß sie identisch zu memcpy
...)
(Ich dachte, ich loswerden der memcpy
Problem bekommen könnte durch die Verwendung eines Compilers intrinsische, wie #pragma intrinsic(memcpy)
, aber das macht kein Unterschied.)
Wenn ich am Präprozessorausgabe aussehen (/P
an die Compiler-Befehlszeile hinzufügen), sehe ich keine Hinweise auf entweder __fltused
oder _memcpy
in foobar.i
.
Also, meine Frage ist: Woher kommen diese Linker Fehler und wie löse ich sie?
Und deine Frage ist? –
Ah ... muss das irgendwie verloren haben, während ich dieses Ding in zwei geteilt habe. Erneut hinzugefügt, danke! – Thomas