C++ - 可执行文件的传输

标签 c++ windows

我用 C++ 构建了这个非常简单的基于多线程 winsock tcp 的多用户聊天。

我个人运行的是 32 位 Windows 7 版本,聊天工作正常,现在我想在局域网中的不同计算机之间测试它,举个例子,我想在另一个计算机中运行我的 client.exe 文件计算机,运行 64 位的 Windows 7。

所以在这样做之前我有几个问题:

  1. 首先假设两个计算都运行 x86 架构传输这些 .exe 文件并在不同的计算机上运行它们应该不是问题吧?
  2. 现在我的第二个问题是缺少 dll,当尝试在另一台计算机上执行我的 client.exe 文件时,弹出了缺少“MSVCR120.dll”dll 的错误消息。这实际上是有道理的,因为计算机可能是架构兼容的,但可能有不同的 dll。所以我的问题是,如果在我的 C++ Client.exe 文件源代码中,我将加载 MSVCR120.dll 并将其包含到我的 Client.exe 文件的文件夹中,这会解决我的问题吗?

最佳答案

你有两个选择:

  1. 为包含 VC++ 的 exe 创建安装包 可再发行。
  2. 使用在 as a static library 中编译的 VC++ 运行时编译你的 exe .

在第二种情况下,您不需要安装包,只需将 exe 复制到目标机器上并从那里运行即可。

关于C++ - 可执行文件的传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898212/

相关文章:

xml - 为 SAML 签名和加密创建 x509.v3 自签名证书,Windows 8 R2

linux - 如何将符号链接(symbolic link)文件从 Linux 复制到 Windows,然后再复制回 Linux 但仍将其保留为符号链接(symbolic link)

c++ - Makefile 离开 .o 并且不生成可执行文件

c++ - 外派异常处理

c++ - 使用 operator new/malloc 分配的内存块能否在程序执行结束后持续存在?

windows - 创新设置: How to change uninstall background color

c++ - 从 system() VC++ 调用时,WUSA 发生灾难性故障 0x8000ffff

windows - 替换现有 Win32 .exe 中的 PE stub

Java 与 C++(按引用调用?)

c++ - 'managed_shared_memory' 应该分配多少内存? ( boost )