当前位置: 首页 > 工具软件 > HttpLib > 使用案例 >

cmake: MinGW编译时为httplib.h增加连接库支持

糜宜民
2023-12-01

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
 类似资料: