问题标签 [custom-build-step]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

visual-studio - 用于生成标头的 Visual Studio 自定义构建步骤

我有一个带有标题的项目,通常根据需要使用命令行界面生成。但我想将此生成步骤添加到 Visual Studio 2015(工具集 v141,c++)作为自定义构建步骤。所以我做到了,它确实有效,但它生成它们很晚。实际上,如果文件尚不存在,则无法构建项目并出现错误“无法包含文件 myHeader.h”。

我通过添加项目属性 -> 自定义构建步骤 -> 常规添加了自定义构建步骤:

  • 命令行:生成头文件的命令(有效)
  • 输出:$(ProjectDir)生成的标题;%(输出)
  • 执行之前:PreBuildEvent

实际上不需要输出,因为命令行会生成文件并自动将它们放在 rigth 文件夹中。但如果我不指定输出文件夹,它就不起作用。

执行之前可能是我的问题所在。但我不知道要添加哪个选项。这个似乎还不错。

编辑有些奇怪的是,它有时会在构建之前成功创建它,但如果我删除它们并再次构建。它们不再生成,项目也不会构建。

EDIT2 实际上只有在我修改项目属性时才有效,因为它强制重新生成所有需求。否则,如果我像往常一样构建,它会跳过自定义 buld 步骤,因为 Visual Studio 认为它是最新的。

0 投票
2 回答
366 浏览

c++ - Visual Studio 删除共享的 .pch 文件,以及有关自定义构建步骤的问题

我尝试使用共享的 .pch 文件,该文件在一个项目中编译并在其他项目中使用。

但是,如果 PCH 项目的 .pdb 文件名与其他项目的 .pdb 文件名不同,则会删除 .pch 文件。

此页面没有回答问题:https ://devblogs.microsoft.com/cppblog/shared-pch-usage-sample-in-visual-studio/

我不想为所有 PDB 使用相同的名称。

问题:

1)为什么.pch文件在其他项目编译开始时被删除,导致C1083错误(.pch not found),如果PDB名称不相等,不像那个页面?

2)我使用 COPY 命令复制 pch.pdb 和 pch.idb 文件,如果复制的 pch.pdb 应该像依赖项目的 PDB 一样命名,是否有 RENAME 命令或其他东西?我在哪里可以找到自定义构建步骤命令的完整列表?

3)我不明白自定义构建步骤中“附加依赖项”和“输出”的目的。我可以将 .pch 文件名输入到依赖项列表中,这样它就不会被删除吗?输出列表是否需要包含依赖项目的 PDB 名称或 pch.pdb,或两者都包含?

0 投票
1 回答
21 浏览

visual-studio - Visual Studio 停止执行自定义构建步骤

不知道如何解决这个问题,也许有人以前遇到过这个问题并且可以提示在哪里看。

问题是我的 Visual Studio 项目具有分配给它的自定义构建 tep 的 proto 文件:

..\*some path to a protoc.exe*\protoc --proto_path=%(RootDir)%(Directory) --cpp_out=%(RootDir)%(Directory) %(FullPath)

一切正常,直到有一天它停止了,我不知道为什么。也许我搞砸了一些环境变量或一些设置或其他东西。当我使用 CmakeGui 生成 Visual Studio 项目时,该问题还扩展到其他具有一些自定义构建步骤的项目。这些步骤有一个描述集“Compiling %(Filename).proto...”,它不会出现在输出中。几乎就好像它被完全忽略了,但编译器无法构建项目,因为项目中存在对生成文件的引用。

任何有关如何解决此问题的建议将不胜感激。

0 投票
1 回答
52 浏览

msbuild - 自定义构建规则标记检查 Visual Studio 2019 中更改的目录?

让我们把晦涩的问题变得简单......

我们有一个由许多项目组成的解决方案,其中一些项目使用 3rd 方的东西设置了自定义构建事件,用于一些黑暗魔法编译,看起来像这样:

在我们将 VS2015 切换到 VS2019 之前,这一直正常工作,因为现在在编译期间它报告说: Project is not up-to-date: build output 'd:\projects\program\app\src\plugins\shared\' is missing. 这或多或少没问题,但它迫使编译器也重新编译该项目的依赖项,这开始真的很烦人,因为即使没有进行任何更改,每次都需要重建几个项目。

我发现问题出在这行自定义构建:

从这部分更准确地说:%(RelativeDir)%(Outputs)作为在同一标记中检查.cpp.h文件不会产生任何问题。所以我删除了这个目录检查。删除这段代码后,项目会正确编译,并且不会整天重新编译。

那么为什么自定义构建的输出检查现在可以正常工作,只是文件和目录会产生这种问题呢?

是的,检查的目录存在,它指的是现有的正确路径。

0 投票
1 回答
574 浏览

logging - TFS 构建步骤 - 遇到错误 TF400893:无法联系服务器。请检查您的网络连接,然后重试

查看 Azure DevOps 构建的构建步骤时,当我单击给定的构建步骤以获取详细信息,而不是查看构建详细信息输出时,我收到错误消息:

在此处输入图像描述

我尝试重新启动浏览器,尝试使用其他浏览器,并尝试在构建服务器上重新启动构建代理,但均无济于事。

如何查看构建步骤详细信息?

0 投票
0 回答
17 浏览

visual-studio-code - 没有构建步骤的 VS 代码项目

与代码

我正在处理没有构建步骤的前端项目(html/js/css)。我想问一下,是否有一种方法可以使 VS 代码中的功能(例如“ctrl + click”),页面建议上的活动方法起作用?我们的 repo 中的文件路径与服务器上的真实路径不同。在整个项目“ctrl + t”中寻找方法并不痛苦,因为有很多重复项。我想知道是否可以将浏览器与 VS 代码连接以预编译静态页面并获得诸如 chrome 控制台之类的建议。或者,如果您有其他想法可以尝试,我将不胜感激。

0 投票
0 回答
34 浏览

typescript - 将构建步骤添加到复合项目的 TypeScript 编译器

有没有办法可以挂接到命令tsc --build中,以便在复合 TypeScript 项目中利用额外的构建步骤?

我有一个包含许多 TypeScript 项目的 monorepo。但是每个人在构建时都需要一个额外的步骤,将 Joi 模式转换为 TypeScript 定义。

显然,我可以简单地从 npm 运行脚本,但该tsc --build命令实际上会构建tsconfig.json文件中引用的所有项目,这意味着我可以使用一个命令构建所有内容。但是当它构建时,我需要一种方法来挂钩每个构建,以便每个项目也可以为引用的每个(或某些)项目添加这个 Joi -> TypeScript 步骤。

有没有办法做到这一点?

0 投票
1 回答
47 浏览

qt - 如何在 Qt Creator 中为每个项目添加构建步骤?

使用Qt Creator(最新发布版本,“Qt Creator 5.0.3 based on Qt 5.15.2”),使用介子新建项目时默认构建步骤错误。

我的项目配置如下:我的源代码、介子构建文件位于一个目录中,该目录还包含名为“build”的构建目录。

以下是默认构建步骤:

应该是这样的:

有没有办法可以更改每个项目的默认构建设置?有人可以解释为什么 Qt Creator 默认没有好的构建步骤吗?