我正在C++构建一个win32应用程序。我有两个静态库项目(开源库),我正在应用程序中编译和使用。这些项目的静态库都超过 50MB。但是,我的可执行文件只有 3MB。这似乎不对,即使我将可执行文件(仅)复制到另一台机器上,一切似乎都运行良好。
我已经遵循了VS2010静态链接项目的所有Visual Studio说明。 即属性->框架和引用-> 添加静态库项目。
有什么想法吗?
静态链接将仅包含您正在使用的库中的部分,因此您的可执行文件很可能比库小得多。
未使用的方法通常在生成可执行文件时由链接器删除。但是,在生成静态库时,无法确定需要哪些方法,因此所有这些方法都包含在库中。只有当生成可执行文件时,才会确定库中真正使用的方法,其他方法将被删除。