首页 > 解决方案 > 将库与 C++ exe 捆绑在一起

问题描述

我一直在从事一个项目,该项目使用名为 winsock 的 windows 套接字库。目前,我可以开发或运行此代码的唯一方法是在安装了 C++ 扩展的 Visual Studio 中执行此操作。编译后的 exe 也仅适用于安装了 Visual Studio C++ 的计算机。

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

上面的行在 Visual Studio 中用于链接代码和 winsock 库。

我的问题是这个。我希望能够将所有这些“捆绑”在一起,这样我就可以把这个项目交给没有 Visual Studio 的人。我在网上搜索了一下,但不确定与我的案例相关的内容。

任何人都可以指导我的程序吗?

标签: c++windowsvisual-c++winsock

解决方案


几乎可以肯定的是缺少 C 和 C++ 语言运行时库,即“CRT”,而不是 winsock。您忽略了 CRT,因为您不必做任何事情来链接它,链接器默认包含它(除非您通过/NODEFAULTLIB)。

Visual Studio确实允许您静态链接 CRT。在您的项目属性中,在 C/C++ -> 代码生成下,将“运行时库”更改为/MT(多线程,非调试,非 DLL)。

在此处输入图像描述


推荐阅读