cyanray / mirai-cpp

本项目为 mirai-api-http 的 C++ 封装,方便使用 C++ 开发基于 mirai-api-http 插件。
GNU Affero General Public License v3.0
148 stars 38 forks source link

在使用httplib::Client时出现错误 #143

Closed Longtianmu closed 2 years ago

Longtianmu commented 2 years ago

在使用httplib::Client进行POST时提示error C2079: “cli”使用未定义的 class“httplib::Client”

Longtianmu commented 2 years ago

换用其它HTTPLIB时会出现LNK2019: 无法解析的外部符号

cyanray commented 2 years ago

麻烦贴出详细代码,说明意图,方便我帮你分析问题。

Longtianmu commented 2 years ago

在main里仿照httplib官方示例使用如下代码进行POST的时候 image 会有如下报错 image

cyanray commented 2 years ago

在main里仿照httplib官方示例使用如下代码进行POST的时候 image 会有如下报错 image

尝试引用httplib的头文件:

#include <mirai/third-party/httplib.h>

mirai-cpp的较新版本采用了 pimpl idiom,会尽量避免在 MiraiBot.hpp 引入第三方库,尤其是 httplib。 因为引入 httplib 会同时引入 windows.h,会带来大量宏定义,导致莫名其妙的编译错误(比如SendMessage这个宏,和MiraiBot::SendMessage冲突了),这样不好。

Longtianmu commented 2 years ago

微软的这个宏定义属实是写了要挨打的那种(

Longtianmu commented 2 years ago

问题已解决 谢谢