C++ “我怎么能?”;隐藏“;我们客户提供的外部图书馆?

C++ “我怎么能?”;隐藏“;我们客户提供的外部图书馆?,c++,C++,我们正在开发一个SDK,它可以发布给许多游戏开发者。我们在用LibTomCrypt做一些密码学的东西。我们收到一些报告说,它与一些同样使用LibTomCrypt的用户有冲突,并且版本不同 我想知道我是否可以以某种方式隐藏这个东西,这样外部客户机代码就看不到我们有那个库了 LBTICORT是一个C库,我们的项目是C++,它是作为静态库构建和使用的。 我们使用MSVC为x64、Win 32和XBoxONE构建,并使用索尼的Clang为PS4构建。您使用的工具堆栈是哪一个?您发布的内容是静态链接还是

我们正在开发一个SDK,它可以发布给许多游戏开发者。我们在用LibTomCrypt做一些密码学的东西。我们收到一些报告说,它与一些同样使用LibTomCrypt的用户有冲突,并且版本不同

我想知道我是否可以以某种方式隐藏这个东西,这样外部客户机代码就看不到我们有那个库了

LBTICORT是一个C库,我们的项目是C++,它是作为静态库构建和使用的。


我们使用MSVC为x64、Win 32和XBoxONE构建,并使用索尼的Clang为PS4构建。

您使用的工具堆栈是哪一个?您发布的内容是静态链接还是动态链接?如果不修改库,这只适用于具有两级名称间隔的动态链接器的系统,否则,您的库和游戏都必须重新链接到同一个LibTomCrypt。Windows有这样的功能,苹果平台也有这样的功能,而AFAIK Linux及其衍生产品没有。(使用LibTomCrypt作为静态库可以解决所有平台上的问题。)@zneak不是这样,如果需要库的两个不同版本。您使用的是哪个工具堆栈?发布的内容是静态链接还是动态链接?如果不修改库,这将仅适用于具有两级名称间隔的动态链接器的系统,否则,您的库和游戏都必须重新链接到同一个LibTomCrypt。Windows有这种功能,苹果平台也有这种功能的实现,而AFAIK Linux及其衍生产品则没有。(使用LibTomCrypt作为静态库可以解决所有平台上的问题。)@zneak如果需要两个不同版本的库,则情况并非如此。