静态库中的函数调用中的多个符号

时间:2019-03-22 05:11:10

标签: c gcc static-libraries

我需要编译一个静态库,该库继承具有相同名称的函数,并且这些函数还相互调用。 有办法解决我的问题吗?

这是最小示例

add_outer.c

#include "bridge.h"

int add(int a, int b){
    return add_bridge(a,b);
}

bridge.c

#include "add_inner.h"

int add_bridge(int a, int b){
    return add(a,b);
}

add_inner.c

int add(int a, int b){
    return a+b;
}

现在我的问题:

  • 我无法更改结构
  • 我根本无法修改代码
  • 需要将其编译为静态库
    • 所以我无法使用版本脚本(->共享库)

1 个答案:

答案 0 :(得分:0)

编写一个.c文件而不是将它们一起编译

  1. #define add something_else

  2. 然后 #include add_bridge.cadd_inner.c