C++合并多个静态库

转自:https://blog.csdn.net/love_hot_girl/article/details/19421363

要发布一个lib库,但是这个库用到了其他几个lib,有没有办法把他们合并成一个呢?

有的!

Microsoft 库管理器实用程序 (LIB.EXE) 可用于将两个库合并为一个。

以下是如何 LIB2.LIB 中 LIB1.LIB 中的内容添加单个 LIB 命令中的一个示例:

方法1:命令行

把要合并的lib库拷贝到lib.exe同级目录下,打开命令行,输入

lib.exe /out:objectlib.lib lib1.lib lib2.lib<回车>

该目录下会生成合并后的lib库object.lib。

lib.exe位于VS安装目录下 ..Microsoft Visual Studio 8VCin

但默认是不能运行的,缺少几个文件。把Microsoft Visual Studio 8Common7IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll
复制到上面的bin文件夹里,就OK了。

关于lib.exe的详细使用方法,请参考MSDN: http://msdn.microsoft.com/en-us/library/7ykb2k5f.aspx

方法2:设置VS工程

步骤如下:

    • 访问项目的属性页对话框。

    • 在静态库项目为活动时,选择“管理员”文件夹。

    • 选择“常规”属性页。

      在“附加依赖项”中输入要合并的库,中间用空格分开;

      在“附加库目录”中输入库所在的目录。

    • 选择“命令行”属性页,可以看到VS自动生成的命令行。

    • Rebuild,直接生成合并好的lib库。

桂棹兮兰桨,击空明兮溯流光。
原文地址:https://www.cnblogs.com/nanfei/p/14326239.html