在VS中使用命令行中编译静态库

1 篇文章 0 订阅

提出问题

在VS中使用cl.exe和lib.exe编译静态库?

解决问题

  1. 设置环境变量(保持环境变量名称一致)
    • PATH = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
    • lib = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
    • include = C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
  2. 目录结构
    xbase\Trunk\3rdparty\xglobal
    xbase\Trunk\build\makelib.bat
    xbase\Trunk\source\inc
    xbase\Trunk\source\src
  3. 编写编译脚本makelib.bat

    ::设置头文件搜索路径
    set incpath=/I"..\source\inc" /I"..\3rdparty\xglobal"
    ::设置源文件路径
    set srcpath=..\source\src\
    ::编译所有原件路径中文件
    set srcfile=*.*
    ::设置输出路径
    set tarpath=bin\
    ::设置输出目标名称
    set tarobj=xbase
    ::debug编译
    set debug=1
    
    if %debug% (
    cl %srcpath%%srcfile% %incpath% /ZI /nologo /W3 /WX- /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_LIB" /D "_MBCS" /Gm /EHsc /RTC1 /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fd"%tarpath%%tarobj%d.pdb" /Gd /analyze- /errorReport:queue /c
    lib *.obj /OUT:%tarpath%%tarobj%d.lib /NOLOGO /LTCG 
    ) else (
    cl %srcpath%%srcfile% %incpath% /Zi /nologo /W3 /WX- /Ox /Oi /Oy- /GL /D "WIN32" /D "NDEBUG" /D "_LIB" /D "_MBCS" /Gm- /EHsc /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fd"%tarpath%%tarobj%.pdb" /Gd /analyze- /errorReport:queue /c    
    lib *.obj /OUT:%tarpath%%tarobj%.lib /NOLOGO /LTCG 
    )
    
    @del *.obj %tarpath%*.idb
    

dddz at home

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值