gpt4 book ai didi

visual-studio-2010 - 使用批处理文件的Visual Studio 2010自定义编译

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

我最近将中型Visual Studio 2005解决方案转换为Visual Studio 2010。
其中一个项目包含的文件不是C/C++文件,而是使用运行自定义构建工具的批处理文件进行编译的。定制构建步骤的输出是一些C++文件,此后必须对其进行编译。

在相关文件的属性中,自定义生成步骤的输出已正确设置为生成的C++文件。

问题在于,有时VS2010会尝试在具有自定义生成步骤的文件之前编译生成的C++文件,这意味着在干净的生成中,它无法找到C++文件并且失败。如果最终尝试构建几次,它将编译自定义文件,然后构建将成功,但是对于自动构建,这显然不是一个好的解决方案。

在VS2005中,构建该项目没有问题,但是VS2010无法从自定义构建步骤的输出中确定正确的编译顺序。还有另一种方法来强制VS2010中正确的编译顺序吗?

最佳答案

Visual Studio支持并行构建,它可以同时构建多个项目。如果无法正确查看项目之间的依赖关系,则此方法将无法正常工作。在这里,定制构建肯定会成为麻烦的制造者。并行构建的数量是可配置的,将其设置为1将是非常粗糙但有效的解决方法。工具+选项,项目和解决方案,构建和运行,“最大并行项目构建数”设置。

但是不要这样做,并行构建可以节省大量时间。您可以通过显式设置项目依赖项来解决此类问题。在“解决方案资源管理器”窗口中右键单击使用生成的C++文件的项目,然后单击“项目依赖项”。选中生成C++文件的项目的复选框。如果与其他读者相关,请检查this answer以创建仅执行自定义构建步骤而无其他操作的项目。

关于visual-studio-2010 - 使用批处理文件的Visual Studio 2010自定义编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12775260/

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