• 在VC++静态LIB中嵌入其他LIB


    在VC++中创建静态LIB库工程,其他工程要使用该LIB时只需要H文件和LIB文件,没有DLL。
    如果该LIB内部使用了其他LIB文件,则需要将这些LIB文件一同提供给外界使用编译。
    有时LIB文件太多,对于其他工程而言,这些LIB文件没有直接使用到,增加了工程配置复杂性。

    下面介绍在VC++IDE环境中将内部所需的各个LIB文件集成到一个LIB的方法。

    选择“Project | Settings”菜单进入到LIB项目设置界面,切换到“Library”选项卡,
    在该页下方的“Project Options”编辑框中,我们可以看到类似如下的文字:
    /nologo /out:"..\..\Lib\VC60\Debug\MyLib.lib"
    在末尾加上其他LIB文件名即可合并LIB到最终的一个LIB中,在这里是MyLib.lib,
    例如“Project Options”设置为:
    /nologo zip.lib rar.lib "../Lib/Other.lib" /out:"..\..\Lib\VC60\Debug\MyLib.lib"

    另外,操作系统标准的LIB文件最好不要加入,否则会有警告或冲突,例如user32.lib、shlwapi.lib
    操作系统标准的LIB文件需要放到最终DLL或EXE中。

    另外,这个配置的原理是调用VC IDE 的 lib工具的功能,具体在VC控制台下看Lib程序的命令提示,
    还有好多功能,比如从Lib中提取Obj...
    相关问题还有Link,比如查看程序实际链接那些lib库(link /verboseb  命令),
    这对引用很多Lib引起的链接错误很有帮助。
    lib, link 的相关参数还有很多,可能会用在一些生僻的地方。

  • 相关阅读:
    [Luogu]小Z的AK计划
    [POI2006]OKR-Periods of Words
    [NOI2014]动物园
    [NOI2009]管道取珠
    [IOI2005]河流
    [国家集训队]Crash的文明世界
    [HDU5382]GCD?LCM!
    [AGC027E]ABBreviate
    [CF]Round510
    [NOIp2005]篝火晚会
  • 原文地址:https://www.cnblogs.com/rhcad/p/1605113.html
Copyright © 2020-2023  润新知