我尝试链接两个c库,例如在liba
中有一个函数
int foo_a(int a) { return a + 1; }
其从libb
被调用,但是虽然是重新定义的但是完全等价的符号,例如
int b = foo_b(1);
将这些结果链接为foo_b
会导致缺少符号,实际上应该是foo_a
。假设我不能修改或重新编译这些库,最好的方法是编写一个 Package 器,类似于wrapper.h
吗
int foo_b(int a) { foo_a(a); }
或者有没有更好的(也许更好的)方法来添加符号转换(我假设仅仅修改liba的头文件是不够的)?
1条答案
按热度按时间wkyowqbh1#
在ld链接器脚本中添加