库依赖"forwarding",还是部分静态库?
Library dependency "forwarding", or partially static libraries?
假设我有A.lib和b.dll(有自己的b.lib
我需要一个应用程序来链接它们,但我只想通过A.lib来实现这一点。基本上,我需要链接器能够找到从b.dll导出的符号,而不需要显式链接到b.lib
理想情况下,我希望完全消除A.lib,并在b.lib中保留一些代码,其余代码在b.dll中。
编辑
我的目标是创建一个库,它可以直接使用与之链接的应用程序中的某些特殊命名符号,而无需强迫库用户提供指向它们的指针。所述符号(主要是函数)是工具生成的,因此它们的名称通常缺乏任何描述性价值(更不用说它们数量众多)。
您可以将一个静态库项目添加到您的解决方案中,例如C。只有a.lib和B.lib作为附加依赖项,没有代码。它运行lib.exe并将A.lib和B.lib合并到C.lib中。任何后续项目都可以链接到该库。
好吧,只要你篡改项目依赖关系,以确保一切都按照正确的顺序构建,这就应该有效。C项目依赖于A和B,所有使用C.lib的东西都依赖于C。像这样隐藏依赖关系不是最好的做法。
相关文章:
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 在链接可执行文件之前查找静态库未解析的依赖项
- 在 CMAKE 中使用具有静态依赖项的库
- 在现代 CMake 项目中存档静态依赖项
- CMake 外部和内部静态库的循环依赖关系
- 如何将 SDL2 用作我的静态 (CMake ) 库的 3D 方依赖项?
- 依赖于依赖类型的非静态数据成员的非限定名称
- 您如何将所有链接依赖项都包装到一个Linux静态库中
- 如何使用捆绑依赖项-CMAKE构建静态库
- 具有依赖于实现的成员函数类型的多个静态接口
- 在不同翻译单元中具有静态存储持续时间的依赖非局部常量浮点变量的常量初始化
- cmake-包括静态库中的依赖项
- 这是静态库依赖树中的菱形问题吗?
- 是否可以编译具有在编译时无法解析的外部依赖项的静态库?
- 依赖于其他静态库的静态库
- 为 c++ 构建一个静态库,该库在内部依赖于第三方库
- 相互依赖的静态库
- 完全静态构建具有所有依赖项(libgcc等)的应用程序
- 添加本机静态依赖项
- 如何调试静态依赖项加载问题