2017-02-20 4 views
0

私はファイルA.cと別のファイルB.cを持っていますが、B.cで定義されたA.cには関数func1があり、A.cで定義されているB.cには関数func2があります。今では、A.cとB.cを使って別のライブラリを構築しようとすると、コンパイラはリンク時に循環依存エラーをスローします。 2つのライブラリを一緒にリンクすることができるように、どんな方法もありますか?あるいは、libB.soがコンパイルされるまで、リンクを遅延させることができます。つまり、libA.soはリンクしません。例についてはネイティブのアンドロイドの円の依存関係を削除する

: -

ファイルA.h: -

void func1(); 

ファイルA.c

void func1() 
{ 
    printf ("Hello A"); 
} 

void other_function() 
{ 
    func2(); 
} 

ファイルB.h

void func2(); 

ファイルB.c

void func2() 
{ 
    printf("Hello B"); 
} 

void other_function() 
{ 
    func1(); 
} 
+0

ヘッダーファイルで宣言を使用していますか?または、func2のfunc1への呼び出しであり、func2はfunc1を呼び出しますか?ここに記載されているような短いソースコードの例を挙げてください:http://stackoverflow.com/help/mcve –

+0

を確認してください。疑問があれば教えてください。@かわいい – user1648014

+0

A.cとB.c.でA.hとB.hを一緒に使ってみてください。 – Milack27

答えて

-1

私たちは、静的ライブラリの代わりに、共有ライブラリを使用してリンクするのこの種を達成することができます。私はそれを使用し、それは働いた。

関連する問題