问题标签 [vcbuild]

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 回答
2736 浏览

.net - 项目不包含名为“Debug|x64”的配置

我正在尝试使用 x64 的构建配置平台构建 C++ 项目。它在运行 64 位 Windows Server 2008 的新机器上。当我在 VS 中打开构建配置管理器时,我无法选择或创建 x64 平台并且项目被跳过。当我尝试使用 MSBuild 构建它时,我收到错误:VCBLD0004: Project 'MyProject' does not contain a configuration called 'Debug|x64'

项目在另一台机器上构建良好,但不是在新机器上,所以我想我在安装中遗漏了一些东西。任何想法要寻找什么?

0 投票
3 回答
9494 浏览

windows - 如何编写运行 vcvars32.bat 的构建批处理脚本,然后继续构建?

我想编写一个简单的批处理脚本来加载 Visual Studio 构建环境vcvars32.bat,然后使用vcbuild. 但是,我的脚本不会在vcvars32.bat. 我得到的最后一个输出是:

如您所见,我使用的是 Visual Studio 2008。这是我最简单的批处理脚本:

0 投票
2 回答
2436 浏览

msbuild - 通过msbuild设置vcbuild环境

我有一个用于构建多个 C++ 项目 (*.vcproj) 的 msbuild 项目文件。这是典型项目文件的一部分,其中构建的全局环境变量被覆盖为属性:

所有 vcproj 文件都通过属性表使用这些环境变量。这是 vcproj 的摘录:

这就是属性表的外观:

问题是:在构建时,在 msbuild 文件(MYBINDIR,MYLIBDIR)中声明的环境变量的值不会进入属性表,但似乎仅在 msbuild 文件中是本地的:在 msbuild 项目中,MYBINDIR 扩展为“d:\buildsysroot\bin”,但在 vc 项目中 MYBINDIR 扩展为“d:\projects\bin”,这是我全局设置的值(例如通过 MyComputer->Advanced->EnvironmentVariables)并且必须保留在那里因为这是我的主要开发环境的设置方式。

如何将 msbuild 文件中设置的环境传递给 VCBuild 任务?

我知道这个问题可以通过使用批处理文件并使用“set”声明环境来解决,而不是在 msbuild 文件中;这就是我过去的做法,但我更喜欢上面的方法,因为它只是对带有一个参数的 msbuild 的一次调用,仅此而已。

编辑

我需要一个快速的解决方案,并想出了一个自定义任务,它以与批处理文件相同的方式设置环境,但在 msbuild 中执行它的好处是。任务的 Execute() 方法只是执行 Environment.SetEnvironmentVariable(var , 值)。这仍然需要设置过程的环境,我很高兴听到是否有其他方法!

0 投票
3 回答
2532 浏览

visual-studio - 带有 vcproj/vsprops 的可选环境变量

有没有办法在项目文件(有或没有 vsprops)中进行环境变量替换,如果找不到变量,则用默认值替换?我还没有找到任何方法来做到这一点,因为一切似乎都覆盖了环境变量。

编辑:我需要它来为属性工作,而不是为环境变量工作。具体来说,可以使用指定目标构建目录的环境变量从另一个源调用 devenv。如果该变量不存在(可能是因为 devenv 只是用作 IDE),那么它应该使用默认值。

我已经为 MSBuild 工作了;我现在需要它为 VCBuild 工作。

0 投票
3 回答
660 浏览

visual-studio - 让它告诉我 Visual C++ 2005 项目中的过时内容

我在 Visual Studio 2005 中有一个 100 多个源文件 VC++ 项目。其中很多文件都有自定义构建步骤。我构建时有些东西没有更新。每次我点击开始调试按钮时,它都会提示我“此项目已过时:”对话框并询问我是否要构建它。我选择是,但没有编译。我想我可以一一取出源文件,找到问题所在。应该有更简单的方法。

我使用的每个 make 等价物都有命令行选项,可以显示过时的目标和用于构建它的步骤。我将使用它通过正常构建来解决问题,然后使用详细选项进行构建。问题文件将是唯一构建的文件!

我希望 Visual Studio 中有一个我还没有找到的等效设置。(Tools->options->Projects and Solutions->Build and Run->MsBuild output verbosity) 没有提供足够的信息来识别问题。如何让 VS2005 准确地告诉我它正在尝试构建什么?

0 投票
4 回答
3207 浏览

command-line - buildbot C++ 在 Windows 上构建:使用 devenv.com、vcbuild.exe 还是 MSBuild.exe?

我的 buildbot 已经运行了 3 年,使用 devenv.com 在 Windows 上编译项目。

现在 devenv.com 在构建 64 位版本时遇到了麻烦:将配置作为“Debug|x64”传递会因为管道字符而产生命令行错误。在引号之间转义和括起来会导致其他错误,有些是因为目录名称中的空格,有些是因为奇怪的命令行理解。

我尝试了 vcbuild.exe 和 MSBuild.exe。vcbuild.exe 完美运行:我想坚持下去。另一方面,MSBuild.exe 有一个完全奇怪和复杂的输出,我的同事觉得很糟糕。但它到处都被吹捧为建造的方式

问题是:devenv.com、vcbuild.exe 和 MSBuild.exe 中哪一个是最有可能及时持续的方法?

0 投票
1 回答
733 浏览

build-process - 来自命令行的 VCBuild 链接错误

我正在使用我的 VC Express 项目中的外部库。我正在尝试通过命令行自动化我的构建,但似乎 VCBuild 无法识别我为外部库的 include 和 lib 目录保存/添加的其他目录。有解决方法吗?

0 投票
2 回答
3534 浏览

visual-studio - 从命令行构建 VS2008 动态添加预处理器指令

我正在使用 VS2008,并正在开发 C/C++ 项目。我正在使用 .bat 文件从命令行(VC2k8 命令提示符)构建我的项目。我需要一种在构建时动态包含 preprossor 指令的方法。

我正在使用 devenv 从命令行构建。

实际上我想为批处理文件设置一个基于命令行参数的宏定义。我可以保留两个不同的 .vcproj 文件,但这会给保留多个项目/sln 文件带来问题。我的批处理文件会是这样的......

任何帮助将非常感激。

谢谢。

0 投票
3 回答
3145 浏览

msbuild - MSBuild 中的 VCBuild 任务 - 更改输出路径

我正在尝试为我们的一个产品编写一个自动构建,并且我已经为我们的一些 VC++ 项目碰壁:我需要能够将输出路径设置为程序集将被复制到的位置完毕。

这是一个临时的 msbuild 文件:





Stijn 的回答:

我想我会利用这个空间来澄清我个人如何使用 Stijn 的答案来解决这个问题。他的 MSBuild 文件中有一些代码为他编写 vsprops 文件。我决定采用更简单的方法,手动编写文件。

我创建了这个文件,名为 build.vsprops(我的输出路径是 V:)

然后我编辑了我的 MSBuild 文件以添加 Override 参数:

0 投票
1 回答
1090 浏览

build - VCBuild:无法加载属性表

VCBuild 无法加载属性表。如何指定 $(SolutionDir)?