问题标签 [visual-studio-2017-build-tools]

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 投票
0 回答
102 浏览

visual-studio-2017 - 为什么在 Visual Studio 2017 中将 Windows(/SUBSYSTEM:WINDOWS) 设置为链接器-> 子系统属性后 pjsua 构建显示错误

我尝试按照Windows 10 x64 上的文档编译 pjproject-2.9 。我尝试了以下命令。全部成功运行 (i) ./configure (ii) make && make install

我正在使用 Visual Studio 2017。为了构建项目,我遵循了上述 VS 2015 文档中给出的过程:

  1. 打开 pjproject-vs14.sln 解决方案文件 ---> 将 pjsua 设置为启动项目 ---> 将 Win32 设置为平台 ---> 选择 Debug 或 Release build ---> 构建项目。

在 pjproject/pjlib/include/pj 中创建了一个空的 config_site.h 文件

我对pjsua属性做了如下改动:1.配置属性-->通用-->Windows SDK Version 10.0.18362.0配置属性-->通用-->Platform Toolset Visual Studio 2017(v141) Project Defaults-->配置类型 --> Application(.exe) 项目默认值--> 使用 MFC --> 使用标准 Windows 库项目默认值--> 字符集 --> 使用多字节字符集项目默认值--> 公共语言运行时支持--> 没有公共语言运行时支持

  1. VC++ 目录 --> 包含目录 --> (我的 sdl2 包含路径和 python 包含路径) VC++ 目录 --> 库目录 --> (python 库路径)

  2. C/C++ --> 常规 --> (添加了 SDL2 包含路径)

  3. 链接器 --> 常规 --> 附加库目录 --> (添加了 sdl2 libx86 路径) 链接器 --> 输入 --> 附加依赖项 --> (添加了 SDL2.lib, SDL2main.lib ) 链接器 --> 系统 -- > 子系统 --> 控制台(/SUBSYSTEM:CONSOLE) 链接器 --> 高级 --> 目标机 --> 未设置

  4. pjsua --> 构建依赖项 --> 项目依赖项 --> 全选

当我设置 Linker --> System --> Subsystem --> Console(/SUBSYSTEM:CONSOLE) 时,它已成功构建。但我需要将其构建为 Windows(/SUBSYSTEM:WINDOWS) 它向我显示错误。

注意:点击此链接设置 SDL2 的属性。我还浏览了其他链接,例如 wikihow..everwhere 提到仅使用 Windows(/SUBSYSTEM:WINDOWS)。我只需要使用 Windows(/SUBSYSTEM: WINDOWS) 构建它

这些是我得到的错误:

0 投票
1 回答
239 浏览

c++ - 使用 MSVC 编译时 msdpb* 文件的正确用法是什么

网上有很多关于“缺少mspdb140.dll”的问题,还有其他关于缺少“mspdb*”DLL 的类似问题。发布了一些不同的解决方案,包括:

  • 重新安装 Visual Studio
  • 删除 mspdb140.dll,它应该包含在 PATH 变量中
  • 将 mspdb140.dll(和其他文件)添加到<msvc-install-dir>\<subpath>

就我而言,我在 docker 容器中使用了 msvc 2019 安装程序的构建工具,然后安装了 msvc 2017 和 2019 的构建工具。如果我然后转到C:\BuildTools\VC\Tools\MSVC\14.16.27023\bin\HostX64,有两个文件夹:x64x86. 如果我编写 powershell 命令ls -Recurse -Filter "*mspdb*",我会得到以下输出:

但是目录中没有这些文件HostX64\x86。如果我以 x64 作为目标构建一切正常,但以 x86 作为目标,发布和调试构建都会出错。发布版本具有:

并且调试版本具有:

这些构建使用 Qt 和 Qbs,Qbs 使用 vcvarsall.bat 来查找所需的环境变量。当安装了多个 msvc 工具链时,Qbs 中存在一个错误,这使得 Qbs 总是选择最新的。为了解决这个问题,我手动移动 vcvarsall.bat 并在每个构建作业中将其替换为:

这迫使 vcvarsall 选择我想要的工具链 14.16.27023。

通过简单地复制 x64 目标存在的 DLL 和 EXE 文件,我设法修复了这两个编译错误,除了mspdbcmfui.dll. 没有理由不复制最后一个 DLL,因为我只是在试验。即使程序编译,我真的不知道我在做什么,这些文件在哪里使用,或者为什么某些目标缺少它们!不必在我的构建环境中手动复制文件会感觉更好。

我还检查了 Visual Studio 2017 Professional 的本地安装,然后我有相同名称的 HostX64\x64 文件,但对于 HostX64\x86,我得到以下输出:

只有两个DLL!

在 docker 镜像中,我还有 MSVC 2019 的构建工具,所有主机和目标组合都有所有 DLL 和 EXE。

总结一下:

  • 为什么在某些情况下缺少 DLL
  • 解决此问题的正确方法是什么?
  • Visual Studio 编译与使用 vcvarsall.bat 和外部工具有何不同,因为它显然能够在不复制 DLL/EXE 的情况下进行编译!
0 投票
1 回答
626 浏览

visual-studio - 如何在 azure devops 中运行 Visual Studio 构建

在此处输入图像描述我想在 azure devops 中构建我的解决方案文件。我已将其添加到构建管道中,我看到此步骤不成功。它告诉“MSBUILD:错误 MSB1008:只能指定一个项目。” 我怀疑我在指定 msbuild args时犯了一些错误

我尝试不指定 msbuild 它会给我带来很多错误。

有人请帮助我,为什么我在这一步失败以及如何解决这个错误。

谢谢在此处输入图像描述

0 投票
3 回答
341 浏览

c++ - 在 VS17 上使用 LINK1181 链接库失败

我正在尝试在我的项目中使用 ADTF 流媒体库。当我包含库时,我收到 LNK1181 错误。该库带有头文件、lib 文件和 dll 文件。

我在 C/C++ -> General -> Additional Include Directories 中添加了路径。

在此处输入图像描述

另外,我在 Linker -> Input -> Additional Dependencies 中添加了库。

在此处输入图像描述

这里也是错误截图。

在此处输入图像描述

更新:我已将 dll 和库的位置更改为我的项目路径并再次包含它。它现在不会抱怨 lib 本身。现在我收到一个错误 LNK2001。我相信这也是一个链接器错误。

在此处输入图像描述

在这里一切都出错了!

在此处输入图像描述

更新 2:在我看到构建的完整日志之后。这出现了,我认为这意味着,链接器找不到我的库。那正确吗?

在此处输入图像描述

主要应用代码如下:

并且试图读取/导入我的库的头文件是

0 投票
1 回答
303 浏览

msbuild - MSBuild 在错误的地方寻找 Microsoft.VisualBasic.Core.targets

我正在设置一个新的 TeamCity 构建代理。在现有代理上运行良好的几个构建配置在新代理上失败,出现如下错误(为清楚起见添加了空格):

请注意“导入的项目”之后第三行的路径。错误是正确的;该文件夹确实存在,但该文件在那里不存在。但是 Microsoft.VisualBasic.Core.targets 文件确实存在于稍微不同的路径中

是否有一个简单的解决方法,也许是一个注册表项告诉 MSBuild 去哪里看?

0 投票
1 回答
238 浏览

visual-studio-2017-build-tools - 以正确的编码生成 .resx 资源文件

我知道我可以在“属性”工具窗口中更改资源文件的编码(例如更改为 Unicode/utf-16),但这只会为现有文件设置它。

我可以让 Visual Studio 的资源生成器(resgen.exe)首先输出特定编码的文件,这样我就不需要在每次添加、删除或更新文件中的条目时更改编码类型使用资源编辑器,还是我需要在项目属性中添加预构建事件命令?

0 投票
1 回答
93 浏览

asp.net - ASPX 发布网站的 MS Visual Studio 2017 问题

我是 ASPX 开发的新手,因为过去 18 年来我一直是桌面应用程序开发人员。

我正在创建这个 ASPX / VB.NET 应用程序,当我构建并运行它时,它会显示我所做的所有更改,没有任何问题,但是当我发布它时,会在附图中显示结果。

在此处输入图像描述

您能否通过指导我正确的设置来帮助我,我将不胜感激?

提前致谢。

0 投票
0 回答
21 浏览

intellij-idea - 有没有办法将 VisualStudio 2017 键盘快捷键导入 IntelliJ?

我最近开始使用 IntelliJ,我使用 Visual Studio 2017 已经超过 2 年了。现在我想将 IntelliJ 键盘快捷键设置为与 Visual Studio 2017 中相同。

0 投票
2 回答
3162 浏览

python-3.x - 安装 python 的 Postal (Address Parser) 包时出现问题

我正在尝试使用安装邮政包裹

我正在按照链接 https://github.com/openvenues/libpostal#installation-windows中提到的步骤进行操作

我已经安装了 Visual Studio 2019 C++ Build Tools、MSYS2 并执行了步骤

我仍然无法使用安装邮政包裹pip install postal

安装邮政包裹时出现以下日志。

0 投票
1 回答
26973 浏览

c# - Visual Studio 2019 的离线构建工具

我正在尝试从https://visualstudio.microsoft.com/downloads/下载Visual Studio 2019 的构建工具,但是当我单击下载按钮时,系统会下载一个尝试连接到 Internet 以下载软件包的其余部分的 exe。

我如何才能获得 Build Tools for Visual Studio 2019Build Tools for Visual Studio 2017的离线版本。