我必须链接到我的依赖项的依赖项吗?

时间:2019-10-16 13:12:23

标签: c++ linker

我正在构建一个共享库,该共享库本身依赖于另一个共享库。 这些依赖关系不会由库公开,例如

在库A中:


class MySubDependencyClass{

}

在库B中:

class MyLibraryClass{
public:
   void foo(){
      mySubDependencyClass.foo()
   }
private:
MySubDependencyClass mySubDependencyClass;
}

在我的应用程序中:

class MyAppClass{
  MyLibraryClass myLibrary class
}

依赖性链如下所示:MyApp-> MyLibrary-> MySubDependency

目前在构建MyApp时,我必须链接子依赖关系和直接依赖关系。有什么办法可以解决这个问题?看起来很古怪。

我找到了此链接: Linking with dynamic library with dependencies 但不知道问题是否已解决

我的IDE是qtcreator。

编辑:

我现在已经向前声明了从属关系

在库B中:

class MySubDependencyClass;

class MyLibraryClass{
public:
   void foo(){
      mySubDependencyClass.foo()
   }
private:
MySubDependencyClass mySubDependencyClass;
}

这可行,这是走的路吗?处理此问题的“标准”方法是什么?

0 个答案:

没有答案