文章插圖

文章插圖
為了從開源代碼生成第三方庫,需要復制相關的頭文件(.h文件)、靜態庫文件(.lib文件)、動態庫文件(.dll文件)、以及與庫文件同名的pdb文件 。如果只需要生成一兩個庫文件,人工做還好;如果有十幾甚至幾十個庫,人手工復制文件是一件很令人抓狂的事情 。
本文使用批處理文件來解決這個問題,使用計算機完成這種簡單的重復性工作 。
以Zlib的源碼編譯為例,使用CMake、VS2019生成Debug及Release版本,在Debug的目錄中有以下文件:
以上這些工作,人工可以做,但是項目多時,人工做的效率低,還很容易出錯,所以編寫批處理文件來做,好處是大大的 。
批處理文件名為makeMy3rdParty(假設該文件在目錄“D:My3rdParty”中)內容如下:
@echo off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
rem 來源目錄
set srcDir=%1
echo srcDir is %srcDir%
rem 目標目錄
set dstDir=%2
echo dstDir is %dstDir%
rem debug版lib文件所在目錄及目標目錄
set src=http://www.mnbkw.com/jxjc/169630/%srcDir%builddebug
set dst=%dstDir%lib
rem 復制lib及pdb文件到lib目錄
for /r %src% %%i in (*.lib) do (
rem 復制lib文件
echo copying %%i to %dst%
copy %%i %dst%
rem 復制同名的pdb文件
echo copying %src%%%~ni.pdb to %dst%
copy %src%%%~ni.pdb %dst%
)
rem 復制dll及pdb文件到bin目錄
set src=http://www.mnbkw.com/jxjc/169630/%srcDir%builddebug
set dst=%dstDir%bin
rem 復制lib及pdb文件到lib目錄
for /r %src% %%i in (*.dll) do (
rem 復制lib文件
echo copying %%i to %dst%
copy %%i %dst%
rem 復制同名的pdb文件
echo copying %src%%%~ni.pdb to %dst%
copy %src%%%~ni.pdb %dst%
)
rem 復制release版lib文件
echo copying release lib files
set src=http://www.mnbkw.com/jxjc/169630/%srcDir%buildrelease
set dst=%dstDir%lib
echo copying %src%*.lib to %dst%
copy %src%*.lib %dst%
rem 復制release版dll文件
echo copying release dll files
set src=http://www.mnbkw.com/jxjc/169630/%srcDir%buildrelease
set dst=%dstDir%bin
echo copying %src%*.dll to %dst%
copy %src%*.dll %dst%
rem 復制頭文件
echo copying header files to %dstDir%include
copy %srcDir%*.h %dstDir%include
【批處理文件指令 批處理文件格式命令】copy %srcDir%build*.h %dstDir%include
- bat是什么文件格式 BAT文件格式
- bat獲取文件夾大小 bat獲取所有文件名
- c盤垃圾文件清理命令 電腦c盤垃圾清理命令
- .apk文件格式 apk是什么文件類型
- 本地文件搜索軟件 快速搜索本地文件
- 怎么看文件的md5值 文件的md5值是怎樣算出來的
- caj文件怎么看目錄 CAJ文件怎么看字體格式
- word加密文件破解軟件 破解word加密文件
- 局域網文件共享管理系統 免費 共享文件夾 局域網
- 文件服務器管理系統 服務器文件管理器
