在vscode MinGW GCC C++编译环境下使用httplib.h发送http请求
ZKEASOFT November 19, 2023
在vscode MinGW GCC C++编译环境下使用httplib.h,在编译时报错:
undefined reference to `__imp_closesocket'
cpp-httplib是C++的一个http类库,使用它可以很方便的实现http请求,但在vs code环境下编译会报错,原因是因为没有引用ws2_32.lib
,在visual studio环境下,会自动引用这个库:
#if defined(_MSC_VER)
#if _MSC_VER < 1900
#error Sorry, Visual Studio versions prior to 2015 are not supported
#endif
#pragma comment(lib, "ws2_32.lib")
#ifdef _WIN64
using ssize_t = __int64;
#else
using ssize_t = long;
#endif
pragma comment(lib, "ws2_32.lib")
这个语法只在visual studio中有效。那MinGW C++编译器要如何链接这个库呢?
我们打开.vscode目录下的task.json,在build参数后面加上"-lws2_32"就可以了。