windows下操作静态库lib(相当于linux下的ar命令)
linux下有ar可以操作.a文件,windows下提供了lib.exe操作lib文件,从vs的控制台编译环境中可以直接调用。
主要有一下几个操作:
- 列出obj::lib /list xxx.lib
- 释放obj: lib /extract:xxx.obj /out:new.obj xxx.lib
- 删除obj:lib /remove:xxx.obj xxx.lib
- 增加obj:lib xxx.obj xxx.lib
通过下面bat脚本可以释放所有obj
@ECHO OFF SETLOCAL EnableDelayedExpansion :Loop IF "%1"=="" GOTO Continue FOR %%F in (%1) DO ( SET LIBFILE=%%F SHIFT @ECHO !LIBFILE! FOR /F %%O IN ('lib.exe /LIST !LIBFILE! /NOLOGO') DO ( @SET OBJFILE=%%O @ECHO !OBJFILE! SET OBJPATH=%%~dO%%~pO SET OBJNAME=%%~nO IF NOT EXIST "!OBJPATH!" md !OBJPATH! IF EXIST "!OBJFILE!" ECHO !OBJFILE! exists, skipping... IF NOT EXIST "!OBJFILE!" lib.exe /NOLOGO !LIBFILE! "/EXTRACT:!OBJFILE!" "/OUT:!OBJFILE!" ) ) GOTO Loop :Continue

浙公网安备 33010602011771号