• 在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 的相关参数还有很多,可能会用在一些生僻的地方。

  • 相关阅读:
    安卓强制杀死进程的几种方法收集汇总
    android studio :Timeout waiting to lock daemon addresses registry
    20170825遇到的问题
    百度地图的那些坑
    静态内部类的加载方式
    C#文本转语音并保存wav和MP3文件
    一个ASPX页面的生命周期?
    用SQL替换最后一个指定字符后面的所有字符
    用SQL求1到N的质数和
    谈谈托管代码、IL、CLR、ISAPI?
  • 原文地址:https://www.cnblogs.com/rhcad/p/1605113.html
Copyright © 2020-2023  润新知