问题标签 [vcxproj]

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

visual-studio - 让 Premake 生成一个引用现有 .props 文件的 vcxproj 文件

我正在使用第三方 SDK,该 SDK 提供用于 Visual Studio 项目的.props文件。

我使用Premake生成我的.vcxproj文件,而不是使用 SDK 的项目向导。

如何告诉 Premake 生成 vcxproj 文件以添加对第三方.props文件的引用?

目前,Premake 添加到我的 vcxproj 文件中:

然而,我希望它变成这样:

所以多了一个 Import 标签。

0 投票
0 回答
106 浏览

visual-studio-2017 - C++/CLI 项目中的“将所有警告视为错误,除了...”

在 C# 项目(.csproj文件)中,可以将所有警告视为错误,除了一组特定的警告通常,这对于过时/弃用警告是有意义的,因为这些警告专门用于在宣布即将发生的 API 更改时不破坏构建。

对于 C++/CLI 项目(即在.vcxproj文件中)是否也可以采用相同的方式?

(我指的是将C4947视为警告,尽管所有其他警告都被视为错误。)

2017 年的回答表明,微软编译器通过编译器开关编译的纯 C++ 项目是不可能的。但是,我希望.vcxprojXml 格式能够支持导致这种行为的某些元素。

我尝试将文件中的<WarningsNotAsErrors>4947</WarningsNotAsErrors>元素插入.csproj.vcxproj文件中,但这无济于事。另外,看到<TreatWarningsAsErrors>从文件中.csproj调用(即单数而不是复数),我尝试了,但无济于事。<TreatWarningAsError>.vcxproj<WarningNotAsError>4947</WarningNotAsError>

我已经阅读了一些关于仅将特定警告视为错误的提示,但这当然不是一个可行的解决方案。有成百上千个警告(在未来的编译器版本中可能会更多),我想将所有这些都视为错误,除了一个。

0 投票
1 回答
2159 浏览

c++ - 完成构建项目“Error.vcxproj”——失败

我正在尝试在 Visual Studio 2019 中使用 fread 和 fwrite 将内容从源文件复制到目标文件,但我遇到以下错误:1> 完成构建项目“project.vcxproj”——失败。这是我的代码:

请帮我指出我的问题来自哪里。我是视觉工作室的新手。提前致谢。(PS:这是我的输出表

0 投票
1 回答
62 浏览

cmake - cmake 3.18.1 生成的 vcxproj 上缺少 CompileAs 选项

当我使用 cmake 3.2.1 为我的项目生成 .vcxproj 时,它会生成该行<CompileAs>CompileAsCpp</CompileAs> 但是当我尝试使用 cmake 版本 3.18.1 时,生成的 .vcxproj 文件不包含前一行导致我的测试失败(代码编译)。这里是设置项目属性的 cmake 代码:

我如何要求 cmake 生成缺少的行 ( <CompileAs>CompileAsCpp</CompileAs>)?谢谢你。

0 投票
2 回答
335 浏览

c++ - 如何设置 Visual Studio 输出目录?

我在 Visual Studio 2019 中有一个 c++ 项目。该项目已将输出目录设置为特定路径,并且由于它是.vcxproj在 git 中提交的文件的一部分。我想将路径更改为其他内容,因为我的计算机上不存在该路径,但我不想更改.vcxproj文件。有没有办法覆盖.vcxproj文件中的值?

0 投票
1 回答
148 浏览

c++ - 更改 win32 控制台应用程序的任务管理器标题

我正在尝试在任务管理器中更改我的 win32 控制台应用程序的名称。在 c# 控制台项目中,我可以设置AssemblyTitlein 项目文件,它会起作用,但由于某种原因,当我在这里无法获得相同的结果时。

0 投票
1 回答
78 浏览

c++ - 用户在 Visual Studio 中添加宏不起作用

我想在我的 vcxproj 文件中添加宏,或者更准确地说是在从我的 vcxproj 文件加载的用户 .props 文件中添加宏。

我使用此用户宏作为目标 exe 文件的名称(在 vcxproj 文件中):

在道具文件中,我定义了这个宏:

如果我在 Visual Studio (2017) 中打开项目,则在属性中似乎都是正确的 - 文件名是,例如。“MajAcTest_Rel_2018_x64”

看到这张属性图片

但是如果我构建文件,文件名没有我的变量(MajAcTest__x64)

为什么?请帮忙。

0 投票
1 回答
313 浏览

visual-studio - 如何使用 Visual Studio 宏在 CMake 生成的 Visual Studio C++ 项目中设置输出和中间目录?

这是任何 C/C++ 项目在 Visual Studio 2019 中的最终预期结果:

在此处输入图像描述

我正在寻找的关键部分是此 MSVC 项目属性对话框中的前 2 行:

  • “输出目录”:$(Configuration)-$(PlatformArchitecture)\
  • “中间目录”:$(Configuration)-$(PlatformArchitecture)\$(ProjectName)\

如您所见,两者都使用 Visual Studio$(xyz)宏来定义目标路径。

我一直在努力解决的问题:

  1. 如何让 CMake 将这些字符串而不是已经扩展的路径吐出到生成的 vcxproj 文件中?

  2. 如果我希望这发生在多个(或所有)生成的 MSVC C/C++ 项目文件(库、可执行文件等)上,那么我应该在哪里设置呢?我是否需要修补模板文件,或者可以通过命令行或配置文件设置来完成,然后覆盖内部定义的CMakeLists.txt值?

  3. 如果我想要对所有vcxproj 构建目标进行此设置,如屏幕截图所示,我需要注意/注意什么特别之处?

    (在我的情况下,这通常是 x86 和 x64 的 Debug+Release,所以Visual Studio中有 2 个配置和 2 个平台)

关于 SO 的其他问题(至少是我挖出的问题)根本没有解决这个问题,因为它们使用 CMake 将一个“硬编码”路径替换为另一个(仅使用不同的 CMake 变量,但在 vcxproj 之前都扩展为绝对路径)产生)。

0 投票
1 回答
31 浏览

c++ - 如何更改 vcproj 或 vcxproj 中 ProjectReference 标记的顺序?

我正在使用 MS Visual Studio 2019 构建一个 c++ 项目
我有一个解决方案,其中三个项目
一个用于可执行文件,另一个用于静态库

现在我想更改可执行文件的链接库的顺序
最后发现它们是按照它的顺序链接的,project.vcxproj
我用文本编辑器手动更改了顺序,最后成功得到结果

但我不知道如何在 Visual Studio GUI 中做到这一点
如果库在我的project.vcxproj
Can I change the order of the libraries with Visual Studio GUI 中描述如下?

0 投票
2 回答
247 浏览

mfc - Visual Studio 开始运行时清除命令行参数

在我的解决方案中,我有一个 Visual C++ 项目,它使用

平台工具集 = Visual Studio 2013 (v120)

我在 Visual Studio 2019 中打开。

如果我编辑 Project Properties > Configuration Properties > Debugging > Command arguments to something,并执行 OK 一切顺利,就好像我再次打开此对话框一样,一切正常。

在此处输入图像描述

但是当我运行应用程序时,对于指定的配置,命令参数被清除,因为在发布和调试配置中都会发生同样的奇怪行为。这样我就不能使用VS接口来参数化命令输入。

在我按下播放按钮的那一刻,参数化就消失了:

在此处输入图像描述

请帮忙。

更新:

这似乎是导致奇怪行为的扩展。我禁用了所有可能的扩展,现在没有发生这种行为。当我有时间时,我会尝试挑选让我烦恼的扩展程序并提供更多更新。

更新 2:

我只是按字母顺序启用了几个块的扩展并最终启用了所有这些扩展,并且看到 VS 表现良好。我相信禁用某些扩展的事实使事情重回正轨。