一般情况在实际工作中会创建两种解决方案,静态库解决方案和动态库解决方案。
1、动态库的解决方案
动态库的解决方案,每个工程(除了可执行程序工程)最终编译结果为dll文件。
每个动态库很独立,只要有该库的.h、.lib和.dll文件,就可被其他工程单独调用。其中.h和.lib可在开发中使用,.dll和最终的exe共同执行使用。
每个动态库依赖的第三方库在编译时候需要添加进该工程,但是引用该动态库的地方不需要再添加该动态库的依赖库。
2、静态库的解决方案
每个工程(除了可执行程序工程)最终编译结果为lib文件,他相对于最终的exe,只是中间文件,在编译链接过程中起作用。
而且,静态库之间的引用不需要添加它所依赖的静态库(第三方库是需要添加的),但是在最终可执行程序处需要调用该库,而且要把该库所依赖的所有静态库添加上。