0

我很少使用命令行 makefile,通常是做单个项目并手动构建它们。

我在带有 wxWidgets2.8.12 和 VS2008 的构建机器上使用 Win Xp-sp3,我为库(总共 10 个)创建了多种构建格式,这留下了大约 2.5Gb 的空间和中间文件,我使用了创建批处理文件,但不确定我是否希望以正确的方式清理正确的文件。当我尝试在 Visual Studio 中运行清理过程时,它会彻底清理中间文件和输出文件。wxWidgets 文件结构如下所示:

C:\wxWidgets-2.8.12\build\msw 包含用于不同构建类型的 10 个子文件夹。我使用了一个简单的批处理脚本进行创建:

echo now building... WxWidgets with debug=y Unicode=y DLL=y Universal=y
rem builds debug with unicode DLLs WXUniversal
nmake -f makefile.vc BUILD=debug UNICODE=1 SHARED=1 WXUNIV=1
rem add clean command to delete INTERMEDIATE files only 
rem (*.o, *.obj, *.res, *.pch. *.pdb, *.ilk ....)

我认为运行:

nmake -f makefile.vc /clean 

在每个创建块之后都可以解决问题,但它只适用于一个目录,删除那里的所有内容。

我的问题是:我是否正在查看要在我的 rem 语句中删除的正确中间文件?是否有一种自动方法可以摆脱中间文件,但保留输出文件?

4

2 回答 2

0

不,“干净”目标会删除所有内容。您可能希望将输出文件(即库、DLL 和 PDB)复制到其他目录,然后“nmake clean”,然后可能将它们移回。

PS你确定你需要构建wxUniversal吗?

于 2012-11-26T13:25:40.913 回答
0

VZ有一个很好的解决方案。另一种解决方案可能是制作新的makefile目标(复制干净的目标并修改它)并告诉它只留下输出文件,这样你就可以做到

nmake -f makefile.vc [OPTIONS]
nmake -f makefile.vc New_target
于 2012-11-27T12:35:25.047 回答