我用 C++ 构建了这个非常简单的基于多线程 winsock tcp 的多用户聊天。
我个人运行的是 32 位 Windows 7 版本,聊天工作正常,现在我想在局域网中的不同计算机之间测试它,举个例子,我想在另一个计算机中运行我的 client.exe 文件计算机,运行 64 位的 Windows 7。
所以在这样做之前我有几个问题:
- 首先假设两个计算都运行 x86 架构传输这些 .exe 文件并在不同的计算机上运行它们应该不是问题吧?
- 现在我的第二个问题是缺少 dll,当尝试在另一台计算机上执行我的 client.exe 文件时,弹出了缺少“MSVCR120.dll”dll 的错误消息。这实际上是有道理的,因为计算机可能是架构兼容的,但可能有不同的 dll。所以我的问题是,如果在我的 C++ Client.exe 文件源代码中,我将加载 MSVCR120.dll 并将其包含到我的 Client.exe 文件的文件夹中,这会解决我的问题吗?
最佳答案
你有两个选择:
- 为包含 VC++ 的 exe 创建安装包 可再发行。
- 使用在 as a static library 中编译的 VC++ 运行时编译你的 exe .
在第二种情况下,您不需要安装包,只需将 exe 复制到目标机器上并从那里运行即可。
关于C++ - 可执行文件的传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898212/