这些头文件中哪一个来自 MSVCR100.DLL?

发布于 2024-11-07 14:34:54 字数 526 浏览 0 评论 0原文

我正在开发一个 cpp 应用程序,在我正在开发的虚拟机上工作正常,但在我的笔记本电脑(没有 c++ 可再发行组件包的 XP)中,它显示一个错误,指出该应用程序需要 MSVCR100.DLL,但它不在计算机中。我没有在应用程序的任何地方直接引用 dll,所以我想这可能是因为包含了标头。我不想使用这个 dll 包含,我希望应用程序在没有它的情况下也能工作。这些是包含的标题:

#include <winsock2.h>
#include <windows.h>
#include <process.h>
#include <shellapi.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

我尝试注释一些,但是为了注释其他,我必须更改太多代码以进行测试。

这些标头中哪一个来自 MSVCR100.DLL?

项目设置“运行时库”设置为多线程(/MT)

I'm working on a cpp app, works fine on the virtual machine im developing but in my laptop (XP without c++ redistributable package) it shows an error saying the app needs MSVCR100.DLL and it's not in the computer. I am not referencing the dll directly anywhere in the app so I guess it could be because of the headers included. I don't want to use this dll include, I'd prefer if the app works without it. These are the headers included:

#include <winsock2.h>
#include <windows.h>
#include <process.h>
#include <shellapi.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

I tried commenting a few, but for commenting other I have to change too much code just for testing.

Which one of those headers comes from MSVCR100.DLL?

The project setting "Runtime library" is set to Multi-threaded (/MT).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你怎么这么可爱啊 2024-11-14 14:34:54

每当您使用 Visual Studio 2010 编译程序时,C 库中的所有内容都依赖于它。因此,您要么与 C 运行时静态链接,要么随应用程序部署 DLL。

如果您想知道,stdlib.h、stdio.h、cmath.h 依赖于它,并且可能还有很多依赖于 C 运行时的头文件间接包含在所有其他头文件中。所以我想说你的所有标头都依赖于 MSVCR100.DLL。

另一个解决方案是与 2010 一起安装 Visual Studio 2008 + SP1(VC++ Express 2008 工作正常),并在项目属性中选择“Toolset v90”。

Everything in the C library depends on it whenever you compile your program with Visual Studio 2010. So either you link statically with the C runtime, or you deploy the DLL with your application.

If you want to know, stdlib.h, stdio.h, cmath.h depend on it, and also probably a lot of headers depending on the C runtime are indirectly included in all your other headers. So I'd say all of your headers depend on MSVCR100.DLL.

Another solution is to have a Visual Studio 2008 + SP1 installed alongside 2010 (VC++ express 2008 works fine) and select "Toolset v90" in the project properties.

昨迟人 2024-11-14 14:34:54

我认为MSVCR100.DLL是Visual Studio 2010的C运行时库。我想你的实验室没有安装 Visual Studio。所以你必须在你的应用程序中提供这个 DLL。它应该存在于您的开发系统中。

The MSVCR100.DLL is the C runtime library of Visual Studio 2010, I think. I suppose your labtop has no Visual Studio installed. So you got to supply this DLL with your application. It should be there on your development system.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文