httplib.h是一个只有一个头文件的C++11语言的跨平台 HTTP/HTTPS 库。
如果使用在自己的项目中,在MinGW下编译时,会报连接错误,因为找不到socket相关库。
所以在连接时需要参照httplib.h中对MSVC的库依赖,添加ws2_32,crypt32,cryptui几个库的
#ifdef _MSC_VER
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "crypt32.lib")
#pragma comment(lib, "cryptui.lib")
#endif
如果你的项目是用CMake构建,可以如下对target添加ws2_32,crypt32,cryptui库依赖
target_link_libraries(${YOUR_TAREGET}
# MINGW 连接库支持
$<$<BOOL:${MINGW}>:ws2_32> $<$<BOOL:${MINGW}>:crypt32> $<$<BOOL:${MINGW}>:cryptui> )
# MINGW 为CMake 内置的变量用于检测当前编译器是否为MinGW

本文介绍了如何解决在MinGW环境下使用httplib.h库时遇到的连接错误问题。通过添加必要的库依赖如ws2_32、crypt32、cryptui等,确保了跨平台HTTP/HTTPS库在不同编译器上的正常运行。
571

被折叠的 条评论
为什么被折叠?



