C++ 内部链接到静态库的共享库

C++ 内部链接到静态库的共享库,c++,shared-libraries,static-linking,C++,Shared Libraries,Static Linking,我有一个名为MyLib的共享库。我已经将MyLib链接到Boost的静态版本和其他三个库 MyLib不公开这些链接库的任何功能。换句话说,MyLib的公共接口头没有提及或包括Boost或任何其他库 我已经构建了MyLib,并获得了.lib(.a)和.dll(.so)文件 现在,我有了MyEXE,这是一个链接到MyLib的程序。到目前为止一切都很顺利 如果我需要Boost的某些功能或其他三个库在MyEXE中使用: 将MyEXE链接到Boost或其他库是否安全?我会面临ODR问题吗 如果可以链接到

我有一个名为MyLib的共享库。我已经将MyLib链接到Boost的静态版本和其他三个库

MyLib不公开这些链接库的任何功能。换句话说,MyLib的公共接口头没有提及或包括Boost或任何其他库

我已经构建了MyLib,并获得了.lib(.a)和.dll(.so)文件

现在,我有了MyEXE,这是一个链接到MyLib的程序。到目前为止一切都很顺利

如果我需要Boost的某些功能或其他三个库在MyEXE中使用:

  • 将MyEXE链接到Boost或其他库是否安全?我会面临ODR问题吗
  • 如果可以链接到它们,我是否应该链接到与MyLIB使用的Boost和其他库的完全相同版本
  • 前一种情况看起来糟糕吗?我应该遵循更好的方案吗?(分发源代码并将链接过程保留给最终开发人员不是我的选择)