gpt4 book ai didi

c++ - Visual Studio 中的复杂构建

转载 作者:可可西里 更新时间:2023-11-01 13:04:21 25 4
gpt4 key购买 nike

我有几件事我找不到在 Visual Studio 中执行的好方法:

  1. 预构建步骤会调用一个代码生成器,该生成器会生成一些稍后编译的源文件。这可以通过向项目添加空白文件(稍后用实际生成的文件替换)在有限的范围内解决,但如果我不知道名称和/或自动生成的源文件的数量,它就不起作用。我可以使用 $(wildcard generated/*.c)GNU make 中轻松解决它。如何使用 Visual Studio 执行类似的操作?

  2. 如果不需要修改文件(“make” 行为),我能否阻止预构建/后构建事件运行?当前的解决方法是编写一个包装器脚本来为我检查时间戳,这可行,但有点笨拙。

  3. 找到安装在 VS 之外的外部库和 header 的好方法是什么?在 *nix 情况下,它们通常安装在系统路径中,或位于 autoconf 中。我想我可以在项目设置中使用用户定义的宏指定路径,但是将这些宏放在哪里比较容易找到和调整它们?

需要说明的是,我知道存在更好的 Windows 构建系统(CMakeSCons),但它们通常会自行生成 VS 项目文件,我需要将此项目集成到现有的 VS 构建系统中,因此我希望只有普通的 VS 项目文件,而不是生成的文件。

最佳答案

  1. 如果你需要make behavior并且习惯了,你可以创建visual studio makefile projects并将它们包含在您的项目中。

  2. 如果你不想那么笨重,你可以写visual studio macros和自定义构建事件并将它们绑定(bind)到特定的构建回调/ Hook 。

  3. 你可以尝试像 workspacewhiz 这样的东西这将允许您以可以 checkin 的文件格式为您的项目设置环境变量。然后用户可以在本地更改它们。

关于c++ - Visual Studio 中的复杂构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/307900/

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