Wenn ich eine statische Bibliothek erstelle, die eine nicht definierte Funktion aufruft, muss ich auch eine andere BibliC++

Programme in C++. Entwicklerforum
Anonymous
 Wenn ich eine statische Bibliothek erstelle, die eine nicht definierte Funktion aufruft, muss ich auch eine andere Bibli

Post by Anonymous »

Ich habe ein Online -LLM gefragt und es heißt: < /p>
Yes, absolutely. You need to link to the dependency library even when building a static library that calls functions within it.
< /code>
Aber ich habe versucht, eine statische Bibliothek zu erstellen, die eine andere Funktion aufruft, und alles, was ich getan habe, war der Header und dann die Funktion aufzurufen. Es basiert auf Linux mit GCC, ohne Beschwerden über undefinierte Referenz oder irgendetwas.#include "MyExternalFunction"

void my_static_library_function()
{
MyExternalFunction();
}
< /code>
Die obige Kompilierung ohne Beschwerden von Compiler.void my_static_library_function();

int main()
{
my_static_library_function();
return 0;
}
< /code>
Ich habe die ausführbare Hauptdatei auf meine statische Bibliothek verknüpft (offensichtlich, weil ich die Funktion nenne) und dann beschwert, dass Myexternalfunction nicht definiert ist, und so muss die ausführbare Datei diese Funktion verknüpfen. Aber nicht die statische Bibliothek. Daher muss die statische Bibliothek nicht verknüpft, die sie aufruft. Was ist mit anderen Symbolen wie Variablen? Es ist das gleiche? Eine statische Bibliothek muss nie etwas verknüpfen, sie muss nur Erklärungen benötigen?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post