最近我在使用Visual Studio 2008项目时遇到了一个奇怪的问题。
我试图编译一个使用另一个静态库函数的新静态库。(假设Lib1是我的静态库项目,而Lib2是Lib1依赖的Lib文件)。
我可以顺利地构建lib1;它包含Lib2的头文件并调用其函数,没有问题。
问题出现在当我构建一个独立的测试项目,并将Lib1作为依赖项时;它无法构建,我会得到链接错误。未解析的外部元素是我尝试从Lib1中调用的来自Lib2的函数。
当我也将Lib2包含在我的测试项目中时,这个问题就解决了。
当然,这一切都对我来说很有意义;我可以测试Lib2是否被构建到Lib1中。
我的问题是:有没有一种方法可以实现这一点?理想情况下,我希望能够将Lib1部署为单独的库,而不需要Lib2。(Lib2实际上只是来自Windows平台SDK的Lib,所以这并不是什么大问题...)
这不允许是因为它会允许人们在他们自己的库中"隐藏"第三方库,或者其他原因吗?
这个问题的专业解决方案是什么?
谢谢!
--R