问题标签 [visual-c++-runtime]

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

visual-c++ - 您可以使用 Visual Studio Express 从应用程序构建中重新分发 msvcrtxx.dll 吗?

当你下载visual C++ 2008 express edition时,这个文件存在:

在文件 redist.txt 它说

以下列表是 Microsoft Visual Studio 2008 可用的文件列表,可在 Visual Studio 2008 许可下重新分发。如果您获得许可的 Microsoft 软件不是 Visual Studio 2008,则只有 Microsoft 软件安装的文件可以根据此类许可重新分发。

并包含上面的 msvcr90.dll

所以我的问题是,这个许可证是否允许您从 express 分发 msvcr90.dll?“仅由 Microsoft 软件安装的文件”是什么意思?有什么帮助吗?(具体来说,是不是不允许使用mingw/gcc构建的应用程序分发一个版本的msvcr90.dll)。

0 投票
1 回答
2925 浏览

visual-c++ - 如何分发 msvr71.dll (microsoft visual c++ runtime dll)

我有一个需要 msvcr71.dll 的应用程序。在某些机器中缺少 DLL。我不想让用户安装 VC++ 运行时,而是想将 DLL(只有一个文件 msvcr71.dll)与我们的应用程序一起分发。这将被复制到应用程序安装目录。

从许可的角度来看,我这样做是否正确?我找不到任何许可协议。

页面有以下注释:

对于 Msvcr70.dll 或 Msvcr71.dll,您应该将 CRT DLL 安装到您的应用程序文件目录中。您不应将这些文件安装到 Windows 系统目录中。对于 Msvcr80.dll 和 Msvcr90.dll,您应该将 CRT 安装为 Windows 并行程序集。

0 投票
4 回答
47863 浏览

c++ - 使用 Visual Studio 2012 并使用旧平台工具集进行编译?

问题

我正在使用 Visual Studio 2012 开发 C++ DLL。在某些机器上无法加载这些 DLL,因为缺少设置为“v110”的平台工具集。

我曾尝试安装较旧的 c++ 运行时。他们没有安装,因为“已经安装了较新的版本”。我还安装了当前的 Windows SDK,但除了 v110 之外,仍然没有其他项目可供选择。

问题

如何使用旧版本的 C++ 运行时编译我的 C++ DLL,以便它可以在非开发人员机器上运行?

平台工具集是 v110

0 投票
1 回答
54 浏览

.net - 在 SqlCompact 的 4.0 应用程序中托管 Visual C++ 2005 库 DLL

我有在 MS VS2010 上开发的 WPF 应用程序,它连接在他自己的本地数据库(SqlCompact3.5)上,并且 Sql 紧凑 Dll 在解决方案中非常内部管理。当应用程序在只有 Framework 4.0 的 XP 32 位机器上开始崩溃时,问题就开始了安装并在谷歌搜索记录在 Windows 事件查看器上的异常后,我发现了一个安装 microsoft visual c++ 2005 redistributable sp1 Package 的解决方案,它工作得很好。

但我真的需要在我的应用程序内部拥有这些 DLLS,以避免强迫我所有的客户在他们的机器上安装额外的包。我该怎么做!?

0 投票
2 回答
1084 浏览

c++ - Visual C++ DLL 项目中的运行时库冲突

我只是尝试使用 Visual C++ 2012 构建一个 x64 C++ DLL。它是一个简单的 DLL,链接另一个静态第三方 .lib 文件。我收到以下警告消息:

警告 LNK4098:defaultlib 'LIBCMT' 与其他库的使用冲突;使用 /NODEFAULTLIB:library

似乎其他库使用 /MT(多线程静态运行时)链接器选项,而我的 DLL(以及导入我的 DLL 的所有其他项目)使用 /MD(多线程 DLL 运行时)。我无法协调这一点,因为第三方库是按原样交付的,并且更改我的 DLL 会在使用我的 DLL 的所有项目中产生相同的问题。

我从 MS 和论坛上阅读了一些关于这个问题的页面。但是这些页面都没有解释这里到底是什么问题。

我不明白的是:

链接使用不同运行时变体(除了浪费内存)的代码有什么危害?有人说可以忽略,有人说不能。

可以使用 /NODEFAULTLIB[:library] 吗?文档说它将“在解析外部引用时从它搜索的库列表中删除一个或多个指定的库”。我应该将哪个库添加为“:library”,这以何种方式解决了问题?

0 投票
1 回答
21712 浏览

c++ - Microsoft Visual C++ Redistributable for Visual Studio 2012 Update 4 Installer 以中文显示

我需要为 Visual Studio 2012 Update 4 安装 Microsoft Visual C++ Redistributable,但是当我运行它时,即使我选择了英文,它也会以中文打开。我尝试过三种不同的浏览器。当我右键单击从 Microsoft 下载的文件时,它在详细信息中显示为英文。

我不熟悉 Microsoft 支持,也找不到任何地方可以报告任何内容。我害怕安装它并造成任何损坏。有什么建议么?

在此处输入图像描述

0 投票
3 回答
8870 浏览

c++ - 调试断言失败表达式:_pFirstBlock == pHead 使用 OpenCV 和 C++ 尝试调用 SurfFeatureDetector

我使用 OpenCV 在 C++ 中有这个函数:

当我在主方法中调用此函数时,一切正常。

但是,一旦我两次调用此方法...

...我收到以下错误:

在此处输入图像描述

谁能告诉我我的错误在哪里以及如何解决这个问题?我需要使用两个不同的图像两次调用此函数,但每次我这样做时都会收到此错误。

我正在使用 Visual Studio 2012。

0 投票
1 回答
162 浏览

sqlite - 如何在 WinRT appxupload 包中包含 VCRT?

我们有一个使用 SQLite 的 WinRT 应用程序,它又依赖于 Microsoft Visual C++ 2013 Runtime。当我们打包提交时,如果我检查输出文件,我会看到 AppxManifest.xml 文件正确列出了依赖项:

我还可以sqlite3.dll在每个架构的包中找到。我似乎找不到的是 Visual C++ 运行时。这个需要放在包里吗?或者 Windows Store 应用程序安装程序会自动为我们下载并安装它,仅仅是因为将其列为依赖项?

我试图弄清楚这一点的原因是我们的应用程序在我们第一次提交时未能通过认证,因为在 ARM 机器上它无法启动。但是,它在所有架构上都运行得很好。这让我怀疑这是一个没有正确安装的依赖项。

感谢您的任何指点!

0 投票
1 回答
249 浏览

visual-studio-2013 - How can I verify whether a component is compatible with Windows 8.1?

My VS2103/Windows Store gives me two warnings, about "Bing Maps for C#" (in my case):

Project "Platypus" depends upon SDK "Bing Maps for C#, C++, or Visual Basic v1.0" which supports apps targeting "Windows 8.0". To verify whether "Bing Maps for C#, C++, or Visual Basic v1.0" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181.

...and C++ Runtime Package (not sure why I need that in my C# project):

"Project "Platypus" depends upon SDK "Microsoft Visual C++ Runtime Package v11.0" which was released originally for apps targeting "Windows 8.0". To verify whether "Microsoft Visual C++ Runtime Package v11.0" is compatible with "Windows 8.1", contact the SDK author or see http://go.microsoft.com/fwlink/?LinkID=309181

Going to the link provided gives information about a couple of other packages, but not those above. How do I verify whether my "Bing Maps for C#" and "C++ Runtime Package" are compatible with Windows 8.1?

When I go to Manage NuGet Packages, and select Updates > All, I get, "No items found"

When I go to Manage NuGet Packages's Online tree node, and search for "bing maps sdk" I get scads of Bing Maps-related packages, but I don't see the "official" or "base" package (Microsoft's Bing Maps SDK).

0 投票
0 回答
211 浏览

visual-studio - MSVC C++ CRT 中的 _SYSCRT 宏是什么?

当我浏览 VC CRT 源时,我有时会看到两个单独的实现(例如,new运算符),一个用于 when_SYSCRT已定义,另一个用于 when_SYSCRT未定义。

现在,_SYSCRT很可能没有记录,但我正在调试 CRT 代码并且_SYSCRT就在我面前。所以问题是:我应该假设它在“正常使用”期间定义还是未定义

“正常使用”是指与 MSVC 2015 中的 Win32 用户模式应用程序链接。