C ++通过另一个链接一个库

时间:2019-02-04 08:28:34

标签: c++ compiler-errors g++ shared-libraries

libA.so链接到libB.so

主要链接到libB.so,但是它无法访问libA.so的符号。为什么?有什么办法可以使libA.so的符号通过libB.so对main可见?

state.style['html'] = null;

不确定为什么它不起作用,如何使它起作用?

cat a.cc 
#include<iostream>
void hello() {
   return;
}

cat  b.cc
#include <iostream>
void goodbye() {
  return;
}


cat c.cc m
#include<iostream>
void goodbye();
void hello();
void tc() {
  goodbye();
  hello();
}


cat main.cc
#include<iostream>
void hello();
void goodbye();
int main() {
   hello();
}

如何通过B将main链接到A?

1 个答案:

答案 0 :(得分:1)

动态库与普通可执行程序非常相似,并且是单独加载的独立实体。

,它们仅导出自己的自己符号,而不导出其链接到的库。

这意味着main.cc通常可以使用显式链接到的库中的函数,类和符号。如果要使用库A中的符号,则需要与库A链接。