Ich habe eine Datei A.c und eine andere Datei B.c, Es gibt eine Funktion func1 in A.c, die in B.c definiert ist und eine Funktion func2 in B.c, die in A.c definiert ist. Wenn ich jetzt versuche, die separate so-Bibliothek mit A.c und B.c zu erstellen, dann löst der Compiler einen zyklischen Abhängigkeitsfehler bei der Verknüpfungszeit aus. Also gibt es einen Weg, so dass ich die beiden Bibliotheken miteinander verbinden kann? Oder ich kann die Verknüpfung verzögern, d. H. LibA.so wird nicht verlinkt, bis libB.so kompiliert wird.Entfernen der zirkulären Abhängigkeit in Native Android
Beispiel: -
Datei A. h: -
void func1();
Datei A. C
void func1()
{
printf ("Hello A");
}
void other_function()
{
func2();
}
Datei B.h
void func2();
Datei B.c
void func2()
{
printf("Hello B");
}
void other_function()
{
func1();
}
Verwenden Sie Deklaration in Header-Dateien? Oder ist der Aufruf von func1 in func2 und func2 func1? Können Sie ein kurzes Quelltextbeispiel wie hier beschrieben geben: http://stackoverflow.com/help/mcve –
Bitte überprüfen Sie. Und lassen Sie mich wissen, wenn Sie irgendwelche Zweifel haben @KamiKaze – user1648014
Versuchen Sie, A.h und B.h in A.c und B.c. – Milack27