构建没有依赖关系的库

时间:2011-07-19 12:37:03

标签: c++ c visual-studio-2010 static-libraries

我在这里有一个名为HugeApp的巨大应用程序,它需要不同的库(我已编码),其中一些库可能需要依赖(来自互联网的其他库或这里开发的特殊库) )。

我想知道,如果从HugeApp隐藏这些依赖项中的某些是可行的和/或是个好主意。

假设您创建了一个负责在系统上进行加密通信的库,顶级应用程序是否关心和/或需要知道系统的这一部分(通信)需要一些加密库?它可能是特定于实现的......或者不是......

谢谢

2 个答案:

答案 0 :(得分:0)

没有必要知道,如果你将这些库构建为外部DLL,那么外部库是唯一关心依赖的东西。如果您添加对预构建DLL的引用,那么HugeApp不需要知道库的依赖关系(只要它们存在于库中或者存在相应的DLL或lib文件,以便您的dll可以利用它)。如果您的库可以完全是另一个项目,并且您可以包含对此的引用,在这种情况下,您的HugeApp项目仅关注该主要引用,而另一个项目将处理其他所有项目。

答案 1 :(得分:0)

如果在链接器优化中启用/ OPT:REF,则将列出在链接时间内没有项目使用的功能或数据的库(如果有)。然后,您可以从项目设置中的依赖关系列表和链接行中删除它们。如果在VS解决方案中存在/使用任何静态库,这将减少移除静态库的可能性,该静态库是另一个静态库的依赖项。