gpt4 book ai didi

visual-studio-2008 - 使用MSBuild编译单个cpp文件

转载 作者:行者123 更新时间:2023-12-04 04:08:08 25 4
gpt4 key购买 nike

我可以通过从命令行调用MSBuild来构建整个项目:

C:\MyProject>MSBuild MyProject.vcproj

但是我没有找到有关编译单个文件的任何信息。
本质上,我想做类似的事情
C:\MyProject>MSBuild MyProject.vcproj /t:Compile:MySourceFile.cpp

我不想直接在命令行中使用“cl.exe”,因为这将迫使我为cl.exe和所有环境变量定义所有相关的命令行选项,而MSBuild已经为我完成了这项任务。

有什么办法可以做到这一点?

而且,请不要建议使用“make”或“ant”之类的东西,我特别需要MSBuild。
谢谢

最佳答案

VS2008中的MSBuild使用VCBuild进行实际工作,而VCBuild没有我知道的生成单个文件的选项。 (随着VS2010的改变,您实际上可以使用"/t:ClCompile "p:/SelectedFiles="main.cpp"之类的文件来调用单个文件的编译)

我可以提出一些固然可行的想法,但是需要一些额外的工作并且不是很简单:

您可以通过msbuild的

  • 调用devenv来编译单个文件:
    devenv myproject.sln /Command "File.OpenFile myfile.cpp" /Command "Build.Compile" /Command "File.Exit"

    但这确实会打开IDE窗口,并且将使得很难弄清编译是否成功。
  • 使msbuild调用一个脚本/程序,该脚本/程序解析vcproj并进行复制,其中“源文件”部分下的所有源都被删除,但要编译的文件除外。然后让msbuild使用vcbuild/pass1构建该项目(pass1 =仅编译,无链接)。
  • 始终使响应文件具有与vcproj相同的选项,并让msbuild使用该响应文件调用cl来编译单个文件。 (制作响应文件就像在VS中打开项目属性一样简单,转到C++-> CommandLine并复制列出的所有内容)
  • 关于visual-studio-2008 - 使用MSBuild编译单个cpp文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172438/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com