In Anbetracht eines verteilten Compilers wie incredibuild oder distcc, nehme ich an, dass ich einen Kompilierjob an einen entfernten Rechner sende, um eine C++ - Quelldatei zu kompilieren, die von einer statischen oder dynamischen Bibliothek abhängt (etwas, das ich installieren müsste, um mein Programm zu erstellen)). Benötigt die entfernte Maschine diese Bibliothek, um sie zu kompilieren?Benötigen verteilte Compiler Abhängigkeiten beim Kompilieren?
Aus meinem Verständnis von C und C++, wenn eine Quelldatei in eine Objektdatei kompiliert wird, "stubs" der Compiler alles außerhalb des Quellcodes (z. B. ein Aufruf einer Funktion, die nicht im Code ist), dh nur als Teil eines Headers definiert). Wenn die Verknüpfung stattfindet, müssen die Abhängigkeiten vorhanden sein, damit der Linker sie untersuchen kann, um herauszufinden, wo eine Funktion implementiert ist. Wenn das der Fall ist, bedeutet das, dass verteilte Compiler nur dann kompilieren können, wenn sie die Abhängigkeiten installiert haben? Gilt das Gleiche für dynamische und statische Bibliotheken?
Etwas, ja :) Aber meine Frage war spezifischer auf die Anforderungen der Kompilierung vs Verknüpfung. Erfordert der Prozess des Kompilierens von Quellcode zu einer Objektdatei die Bibliotheken? Oder wird das nur beim Verknüpfen benötigt? –