1.LIB可以链接其他LIB,比如:
lib2依赖于lib1,libTest.exe依赖于lib2,这样肯定是OK的
但也算不上真实的链接,它没有链接选项,只能通过
#pragma comment(lib,"F:\\LiBTest\\Debug\\Lib1.lib")
这种类似方式去链接,所以实际链接的是调用它的exe程序,也就是lib1,lib2必须都存在
2.lib文件其实就是obj文件的打包而已,比如你链接一个静态库,如果其中有错,它会准确的找到是哪个obj有错,即静态lib只是壳子, 所以使用lib.exe可以组合它们:比如下面就是直接把lib1和lib2组合成liball
如果lib1和lib2为各自独立的模块,那么我们可以直接使用liball.lib即可,包含lib1和lib2的头文件
上面代码中的lib.exe来自于\Microsoft Visual Studio 9.0\VC\bin目录下,另需要把link.exe也拷过来