cmake: MinGW编译时为httplib.h增加连接库支持
Posted 10km
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmake: MinGW编译时为httplib.h增加连接库支持相关的知识,希望对你有一定的参考价值。
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
以上是关于cmake: MinGW编译时为httplib.h增加连接库支持的主要内容,如果未能解决你的问题,请参考以下文章
MinGw Gcc / Gtk+3 / Cmake 编译程序. 如何去掉控制台窗口?
windows 7 x64用cmake,mingw32安装LLVM,编译时报错MemoryBuffer.cpp:381:25: error