nehme an, ich habe dies:Gibt es eine Möglichkeit, Code über die Befehlszeile eines Compilers voranzustellen?
int main() { return a; }
und ich möchte den Compiler aufzurufen und sie haben kompilieren:
g++ a.cpp --PREPEND-CODE-FLAG="int a = 5;"
ist es eine Möglichkeit, dies zu tun?
Bitte beachte, dass ich weiß, ich kann für a
über die Befehlszeile ein Präprozessordefinition einfügen, aber ich bin auf der Suche nach einer Möglichkeit, realen C++ Code der aktuellen Übersetzungseinheit vorangestellt wird.
zur Zeit bin ich Erzeugen eines separaten Header mit diesem Code und ich bin auch mit der -I
Flagge für g ++/Klirren
Es gibt keine „aktuelle Übersetzungseinheit“, wie Sie – Drop
mehrere Dateien auf einen Aufruf von Compiler passieren kann Was ist der Anwendungsfall für das? –
@Ben vertrau mir - da ist einer. Ich versuche, [this] (https://github.com/google/googletest/blob/master/googletest/docs/V1_7_Primer.md#important-note-for-visual-c-users) Problem für [meine] zu bekämpfen Bibliothek] (https://github.com/onqtam/doctest) durch das Build-System (beachten Sie, dass es nicht nur für Visual Studio - es betrifft alle Plattformen und Compiler). Ich möchte eine unaufdringliche Möglichkeit für die Kraft-Verknüpfung jeder Objektdatei einer statischen Bibliothek in die endgültige DLL/ausführbare Datei - und ich möchte es in cmake codiert. – onqtam