gpt4 book ai didi

c++ - Visual Studio 2008 项目的 msbuild

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:28 27 4
gpt4 key购买 nike

我们有一个相对较大的 C++ 应用程序,有很多依赖项。在我们运行 msbuild 4.0.30319 的构建服务器上,我们在使用 msbuild 进行增量构建时不断遇到链接器错误和失败。

在对此进行进一步调查后,似乎确实没有在构建应用程序之前选择和构建依赖库。

我的问题如下:是否有构建此类具有依赖项的 C++ 项目的最佳实践?如果是,对于使用 VS2008 构建的具有大量依赖项的 C++ 应用程序,使用 MSBUILD 进行增量构建的正确方法是什么。

最佳答案

正如 Thomas 评论“构建服务器应该进行完整构建,而不是增量构建。

默认情况下,当您在构建服务器上创建新的构建定义时,它会每次都为您干净构建。也就是说,在构建之间,前一个构建的所有源代码连同编译后的输出一起被删除,然后源代码被重新下载,构建,你就可以开始了。这是默认设置的一个很好的理由——这是最安全的选择。如果您的构建脚本完全弄乱了源目录中的文件(可能将构建号烘焙到 AssemblyInfo 文件等),那么您希望获得一个干净的工作区以确保您回到已知的良好状态。

但是,如果你想在构建服务器中启用增量构建,比如TFS,你可以引用Incremental Builds in Team Foundation Server了解更多详情。

but i am more interested how msbuild handles build dependencies on an incremental build and if it supports it

项目之间的依赖关系可能导致构建不一致。 Visual Studio 确实尊重项目到项目的引用,并在引用项目之前构建引用项目。但是,如果多个项目有一个共享引用,则该引用仅构建一次并“缓存”以供下次引用。此外,一个构建上的错误和异常不会影响其他构建的运行,这可能取决于失败的构建。更多信息请引用Managed Incremental Build .

关于c++ - Visual Studio 2008 项目的 msbuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441748/

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