我有一个文件A.c和另一个文件B.c。在A.c中有一个函数func1,它在B.c中定义,函数func2在B.c中定义,在A.c中定义。现在,当我尝试使用A.c和B.c构建单独的so库时,编译器会在链接时抛出循环依赖性错误。 那么有什么方法可以将两个库链接在一起?或者我可以使链接延迟,例如libA.so将不会链接,直到编译libB.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 :(得分:-1)
我们可以通过使用静态库而不是共享库来实现这种链接。我用过它并且有效。