在vscode MinGW GCC C++编译环境下使用httplib.h编译报错
来源:在vscode MinGW GCC C++编译环境下使用httplib.h发送http请求 (zkea.net)
在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"就可以了。