如何在VS2008中编译多个项目?

时间:2012-03-14 19:53:12

标签: c++ visual-studio project

我正在学习Mark Joshi的“设计模式和衍生品定价”之后的设计模式。这是他书中的所有代码: http://www.markjoshi.com/design/ 有几个项目在'mains'文件夹中有'main'。我想将所有这些编译在一起,而不选择每个项目中的每个相关文件。在VS2008中这样做的任何聪明方法?

1 个答案:

答案 0 :(得分:0)

VS本身并不提供这样的功能。特别是,由于没有以任何方式指定明确的依赖关系,除了说明这些的注释。但是,您可以使用您喜欢的脚本语言创建一个脚本,该脚本会检查cut个文件中的依赖项,并尝试使用适当的参数调用编译器。

以下powershell脚本设法编译几乎所有项目(一些项目失败,链接器错误,我无意找出原因)

.cpp

脚本假定它是从包含mkdir obj $compilerPath = "cl.exe" $projects = gci mains\*.cpp foreach ($pm in $projects) { Write-Output $pm.Name; $cppFiles = Get-Content $pm | Select-String "[\d\w]+\.cpp" | foreach-object {"source\" + $_.Matches[0].Value} | Select-String $pm.Name -NotMatch -SimpleMatch $cppFiles = @("mains\$($pm.Name)") + $cppFiles; & $compilerPath $cppFiles /I .\include\ /EHsc /Fo.\obj\ } includemains子目录的目录运行的。它应该从source运行(为了正确设置建筑环境)。