2

我在 C++ 培训项目中做了很多事情,stackoverflow 对我帮助很大。我总是尽可能地保持它的“标准”,这样它就可以跨平台了。到处使用 boost,C++11 线程和使用 WIN32 套接字或 BSD API 的包装器。我决定为一个朋友编译 RELEASE 只是为了炫耀,它需要在他的计算机上安装 MSVCPP110.dll :(

我在早期就遇到了这个问题,但后来我将 Visual Studio 设置为将 MFC 编译为 STATIC 库,并修复了初始测试,但我不知道我在需要“我的用户”为一个简单的控制台应用程序安装 Visual C++ Redistribute,该应用程序启动 2 个线程并在其中一个线程上打开一个 TCP 套接字。

您对新手有什么建议吗,我如何检查困扰我的系统的问题,或者将其包含在可执行文件中的方法,我已经看到我的计算机上的一些游戏在其安装目录中具有上述 DLL,如果我只是将该 DLL 与我的可执行文件打包,它会起作用吗?

提前感谢您对此事的任何建议!

PS:彻底审查我的代码后,我意识到这可能是一个问题

#pragma comment(lib, "ws2_32.lib")

但我似乎没有找到这个库的静态版本:U 有没有解决方法。我需要那个库来进行 WSA 启动调用

WSAStartup(MAKEWORD(2,2), &Winsock);

4

1 回答 1

4

您不需要所有文件,通常只有 1 或 2 个,例如 mfcXXX 和 msvcrxxx

使用http://dependencywalker.com/检查您的依赖项并将其添加到您的分发中

于 2013-04-09T11:25:23.263 回答