提出问题
在VS中使用cl.exe和lib.exe编译静态库?
解决问题
- 设置环境变量(保持环境变量名称一致)
- 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
- 目录结构
xbase\Trunk\3rdparty\xglobal
xbase\Trunk\build\makelib.bat
xbase\Trunk\source\inc
xbase\Trunk\source\src 编写编译脚本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