Command line 如何确定生成是来自编辑器还是命令行? 我用Visual Studio 2005构建了一个C++解决方案。

Command line 如何确定生成是来自编辑器还是命令行? 我用Visual Studio 2005构建了一个C++解决方案。,command-line,visual-studio-2005,msbuild,Command Line,Visual Studio 2005,Msbuild,有时我在VisualStudio中打开解决方案,并从开发环境中构建它。其他时候,我使用msbuild.exe从命令行构建它。我想知道是否有一种方法可以确定在编译时使用这两种类型的构建中的哪一种(例如,宏或类似的东西)。我想根据此确定更改输出文件的路径。因此,如果我从VisualStudio中构建,我会将输出文件放在FolderA中,但是如果我从命令行构建,我会将输出文件放在FolderB中。这可能吗?在从命令行生成时,您可以传入一个命令行参数,该参数表示您正在从命令行生成解决方案。否则,您可以假

有时我在VisualStudio中打开解决方案,并从开发环境中构建它。其他时候,我使用msbuild.exe从命令行构建它。我想知道是否有一种方法可以确定在编译时使用这两种类型的构建中的哪一种(例如,宏或类似的东西)。我想根据此确定更改输出文件的路径。因此,如果我从VisualStudio中构建,我会将输出文件放在FolderA中,但是如果我从命令行构建,我会将输出文件放在FolderB中。这可能吗?

在从命令行生成时,您可以传入一个命令行参数,该参数表示您正在从命令行生成解决方案。否则,您可以假定您是从Visual Studio中生成的。

也许您可以在从命令行生成时传入一个命令行参数,该参数表示您是从命令行生成解决方案的。否则,您可以假设您是在Visual Studio中构建的。

对于您的一般问题,我没有答案,但是为了更改输出路径,您是否考虑过添加项目配置?您可以复制项目配置并更新新配置的输出路径。

对于您的一般问题,我没有答案,但为了更改输出路径,您是否考虑过添加项目配置?您可以复制项目配置并更新新配置的输出路径。

如果Visual Studio没有自动提供宏,这将是一个很好的解决方法。我很好奇是否有任何默认情况。如果没有,我将按照您的建议添加我自己的宏。如果没有Visual Studio自动提供的宏,这将是一个很好的解决方法。我很好奇是否有任何默认情况。如果没有,我将按照您的建议添加我自己的。我没有考虑过为命令行构建创建新的项目配置。这不是一个坏主意,但是如果我们需要对未来的配置进行更改,它会引入维护两个配置的需求。谢谢你的意见!这是正确的,尽管VC++有将一些项目设置放入外部文件的概念,并且能够从某种“解决方案默认值”继承设置。如果您没有找到更好的解决方案,可能值得研究。我没有想过为命令行构建创建新的项目配置。这不是一个坏主意,但是如果我们需要对未来的配置进行更改,它会引入维护两个配置的需求。谢谢你的意见!这是正确的,尽管VC++有将一些项目设置放入外部文件的概念,并且能够从某种“解决方案默认值”继承设置。如果您没有找到更好的解决方案,可能值得调查。