2017-02-20 11 views
0

我有一个文件A.c和另一个文件B.c,A.c中有一个函数func1,它在B.c中定义,在B.c中定义一个函数func2。现在,当我试图用A.c和B.c构建单独的库时,编译器会在链接时抛出循环依赖错误。 那么有什么办法可以将两个库链接在一起?或者我可以使链接延迟,即libA.so不会链接到libB.so编译完成。在原生android中删除循环依赖项

例如: -

文件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

请检查。让我知道,如果你有任何疑问@KamiKaze – user1648014

+0

尝试在A.c和B.c中包括A.h和B.h。 – Milack27

回答

-1

我们能达到这种通过使用静态库而不是共享库进行链接。我用它,它的工作。