问题标签 [vcproj]

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

visual-studio - 需要在 vcproj 文件中的文件路径中使用环境变量

我们正在使用visual studio 2005。我知道,但这就是我们所拥有的。

因此,我们有一个项目文件夹,以及另一个文件夹中的一些“其他”代码。其他代码来自其他组并且是只读的。由于我们使用的是 clearcase,因此其他代码区域可能会发生变化。在不涉及很多无聊的细节(我自己仍然没有“明白”所以请不要问)的情况下,我们通常做的是使用 subst 将另一个驱动器的视图映射到固定驱动器号。

我想摆脱这种情况并使用一个环境变量来引用其他代码驱动器。

我定义了一个环境变量'blah',指向其他代码的驱动器和路径。我通过简单地引用环境变量 %blah% 来修复解决方案文件。我的麻烦是试图让项目(vcproj)文件在从其他代码区域引用文件时具有类似的行为。

在 vcproj 文件中,我尝试过:

< 文件相对路径="%blah%..."

< 文件相对路径="$(blah)..."

两者都不起作用 - 当我尝试打开文件时收到错误消息:

u:\path\to\vcprojfile\$(blah)...\myfile.c 无法打开文件。

在我修改 vcproj 文件之前,RelativePath 属性包含文件的绝对路径。那么,为什么环境变量没有被正确扩展呢?我什至可以在这里做我想做的事吗?

0 投票
2 回答
1910 浏览

cmake - 我可以在 cmake 时获取 CMake 为特定 vcproj 生成的 GUID 吗?

序言:我正在尝试将我的 C# csproj 与我们的 C++ 和 C++/CLI 代码库 cmake 构建的其余部分集成。我收到了不要尝试这样做的建议,因为 CMake 与 Visual Studio 中的 .NET 不能很好地合作,但是在实现了一些自定义之后,我觉得我已经很接近了。

我的部分定制是使用 configure_file 命令在 CMake 时编辑 csproj 文件,根据正在发生的构建类型(例如 x86、x64)对其进行定制。

问题是我使用一些 ProjectReference 标记来引用 C++/CLI 项目:

...并且 GUID 不能保持静态,因为只要重建 CMake 缓存,它们就会为项目更改(如果我弄错了,请纠正我)。

所以我想做的是在 CMake 时找到我们为这些项目计划的 GUID,并相应地编辑 vcproj 文件。

Google 告诉我人们可以使用“set_property”来设置 GUID,如下所示:

...但我似乎找不到吸气剂等价物。我试过这样的事情:

get_property(WRAPPER_GUID 缓存内部属性 WrapperTargetName_GUID_CMAKE)

......没有运气。感谢您的帮助!

0 投票
0 回答
512 浏览

linux - VS2012工程文件转成makefile

大家好,我正在开发跨平台系统。
我知道我们已经做到了。和其他一些像 sln2mak。
但是它们不支持 Visual Studio 2012。

有谁知道VS2012项目文件是否存在类似的东西?

0 投票
2 回答
2069 浏览

chromium - 编译 Chromium 时,不会从 runhooks 生成 .sln 或 .vcporj 文件

所以我尝试我的第一个 Chrome 版本只是为了好玩,我已经通过 gclient 配置和同步获得了我想要的所有文件。但是,没有VS可以打开的项目文件,只是一堆对我没用的.gyp文件。

命令'gclient runhooks --force'应该为我生成sln文件,但是当我运行它时,我什么也没得到。甚至没有错误。

这是怎么回事?

谢谢。

0 投票
4 回答
2833 浏览

qt - qmake 处理我的配置文件三次而不是一次

这是整个pro文件:

qmake我通过以下方式调用:

我得到以下输出:

设置使用 Microsoft Visual Studio 2008 x86 工具的环境。

项目消息:这个消息应该只出现一次!!!

项目消息:这个消息应该只出现一次!!!

项目消息:这个消息应该只出现一次!!!

为什么消息打印了三次?

0 投票
3 回答
603 浏览

visual-studio-2008 - 与csproj TFS2012一起构建vcproj

我正在使用带有 TFS2012 的 Visual Studio 2012 构建定义,并且一个定义被设置为构建一个包含 .csproj 和 .vcproj(分别为 c# 和 c++)的解决方案。我可以在构建服务器上运行解决方案的本地构建,它运行良好,构建输出显示所有项目(最重要的是 c++ 项目)都已构建;prebuild,postbuild,整个九码。但是,当我运行构建相同解决方案的构建定义时,c++ 项目似乎没有构建。构建报告返回没有错误,但是构建日志仅返回 c++ 项目的以下内容:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE....\vc\vcpackages\VCBuild.exe /override:"[path to solution file].Mixed Platforms.Debug.vsprops" [path to项目文件]“调试|Win32”

我希望看到的是一个更长的构建报告(表明该项目实际构建),但可惜我似乎缺乏构建 c++ 项目的尝试。更不用说构建输出不包含来自 c++ 项目的任何程序集或 .pdb。

为了消除任何关于没有安装 Visual Studio 2008 问题的想法,构建服务器确实安装了 Visual Studio 2008,并且我已经执行了全面修复以确保所有正确的文件都到位(例如 vcbuild. exe 和 vcprojectengine.dll)。

任何想法为什么 c++ 项目没有建立?谢谢你的帮助!

更新_ _ __ _ __ _ __ _ __ _ ____

问题已经改变。由于一些非常苗条的构建日志记录,我的印象是 C++ 项目没有构建(我带着这个想法运行,因为我没有在指定的构建定义放置位置看到任何项目输出)。经过一些调查(以及一些非常有用的建议!),问题已集中在简单的 c++ 项目输出目录属性不会像 C# 属性那样动态更改。手动更改这些值并运行构建定义已证明构建定义使用 C++ 项目文件的默认输出目录属性。

我的临时解决方案是编写一些脚本来将这些输出复制到我需要的文件夹中。为了进一步提出我的帖子的问题,是否有任何设置可以让这些 C++ 项目输出目录属性像 C# 项目一样动态更改?

0 投票
1 回答
668 浏览

visual-studio - 使用 qmake 删除 -Zi 标志,用于 Visual Studio 2012

我有一个包含大约 15 个项目的大型 Visual Studio 2012 解决方案。我真的很想为其中一些项目禁用调试符号生成;其余的应该允许调试。所有这些都与 Debug 配置有关。

我很难做到这一点。我的 pro 文件中唯一提到 Zi 是这样的:

但是当我加载解决方案文件时,Property Pages-> C/C++-> All Options-> Debug Information Format,该Program Database (/Zi)选项仍然显示。我还删除了 mkspecs 和 qmake.conf 中对 Zi 的任何提及(即使上面的 -= 行应该已经删除了它)。

于是我打开了qmake源代码(qmake/generators/win32下的每个文件),发现好像没有办法关闭调试符号;只有没有 a-Zi才能阻止它出现。

如果我将项目设置为<inherit from parent or project defaults>手动,该Zi选项会再次出现。这让我相信它是被继承的……但从哪里来?!

我正在失去理智。请帮忙。


编辑1:

显然,继承的属性来自Microsoft.Cpp.* 属性表。按照该链接中的说明查找项目继承的属性表,您可以修改它们以摆脱-Zi标志。

拥有一面强制None. Debug Information Format有谁知道那可能是什么?


编辑2:

第三个想法:尝试将继承的属性表的默认位置更改为我可以控制的位置。

Windows 环境变量 $(UserRootDir) 指定继承的属性表的位置。据称MSBUILD允许您使用/property命令行参数更改此变量的值。不幸的是,我不知道如何让 qmake 接受这个论点。有没有办法为 qmake MAKEFILE_GENERATOR 构建器设置输入参数?

这个任务开始感觉像是一场野鹅追逐。如果 CMD 具有 sed 功能,我只需编写一个脚本来更改<DebugInformationFormat>vcxproj 文件的内部并完成。

0 投票
1 回答
372 浏览

c++ - Visual Studio(用于 SDL)中的 vcproj 文件在哪里?

我最近对使用 SDL 创建 C++ 应用程序很感兴趣,但是我因编译错误等多次停止。

最近我再次尝试使用 Visual Studio 作为我的 IDE。我已经正确地链接了这些库(或者我认为是这样),并且通过 LazyFoo的第二个 SDL 教程得出了我的问题,该教程显示了一个图像。

在本教程中,它指出要显示的图像文件必须与 .vcproj 文件位于同一文件夹中。虽然对我来说它们都不是,但我只是忽略了它吗?还是本教程已过时?

编辑:我尝试将文件粘贴到每个目录项目中均无济于事。

0 投票
2 回答
3963 浏览

visual-studio-2012 - Visual Studio:如何仅在“必要”时运行自定义构建步骤

我正在使用自定义构建步骤将C++ 项目的构建 DLL(即$(TargetPath) )复制到磁盘上的不同位置。

我已将Output自定义构建步骤设置为目标 DLL 路径,并Additional Dependencies设置为$(TargetPath)- 我正在复制的文件,希望 VS 仅在源 DLL 比目标 DLL 更新时才运行该步骤。

但是,每次我构建项目时,VS 都会运行自定义构建步骤 - 所以它似乎无法判断不需要执行复制,(源 DLL $(TargetPath) 没有改变)。我必须错误地配置了步骤。

什么设置会给我我想要的行为(即 - 如果项目构建并且自定义构建步骤成功,VS 认为项目是最新的)?

在 VS 输出窗口中,我看到这一行似乎暗示 Visual Studio 将 vcxproj 作为触发构建步骤的文件。我希望它使用$(TargetPath)

(PS:我应该补充一下,我最初使用的是Post Build Step,但是如果失败了,VS认为该项目已成功构建,并且在您第二次构建时不会再次运行它)

0 投票
2 回答
3160 浏览

project - Visual Studio 2013,无法打开或创建项目

我今天尝试让 Visual Studio 2013 工作,但我无法让它工作。这是我在制作 c++ 窗口应用程序时不断遇到的错误。

我不断收到的错误消息:

在此处输入图像描述

我尝试在消息框中打开 vcxproj 文件,但我也无法打开它。事实上我无法打开任何 vcxproject 的。几乎所有语言都会出现这个问题。

我卸载了vs 2012和2010,然后安装了vs2013。

我试过了 :

  1. 重新安装nuget扩展。
  2. 重装vs2013一堆时间尝试修复安装
  3. 卸载vs2010和vs2012的所有痕迹

可能很重要的一件事是我为 vs2012 使用了 11 月的 CTP c++ 预览版编译器。虽然我似乎无法卸载它

但到目前为止没有任何帮助。有人能帮帮我吗?