前言全局说明
错误 1 error LNK2019: 无法解析的外部符号 _MQTTClient_create,该符号在函数 "protected: virtual int __thiscall Cmfc_mqttclientpoweronoffDlg::OnInitDialog(void)" (?OnInitDialog@Cmfc_mqttclientpoweronoffDlg@@MAEHXZ) 中被引用
一、说明
环境:
Windows 11 家庭版 23H2 22631.3737
Visual Studio 2013
二、报错
错误 1 error LNK2019: 无法解析的外部符号 _MQTTClient_create,该符号在函数 "protected: virtual int __thiscall Cmfc_mqttclientpoweronoffDlg::OnInitDialog(void)" (?OnInitDialog@Cmfc_mqttclientpoweronoffDlg@@MAEHXZ) 中被引用
三、原因
运行或编译时,依赖 paho-mqtt3a.lib 和 paho-mqtt3c.lib
四、解决方法
4.1 方法一
如果没有 paho-mqtt3a.lib 和 paho-mqtt3c.lib 需要先编译:paho-mqtt.c
编译教程:https://www.cnblogs.com/wutou/p/18320684
4.2 方法二
编译时找不到 paho-mqtt3a.lib 和 paho-mqtt3c.lib
1.设置头文件路径
项目 -> xxx属性页 -> 配置属性 -> C/C++ -> 常规 -> 附加包含目录。
2.包含 x.lib 库路径
项目 -> xxx属性页 -> 配置属性 -> 连接器 -> 常规 -> 附加库目录。
项目 -> xxx属性页 -> 配置属性 ->连接器 -> 输入 -> 附加依赖项。
3.设置工程输出目录
项目 -> xxx属性页 -> 配置属性 -> 常规 -> 输出目录。
4.输出库文件路径设置(x.dll 和 x.lib)
x.dll 输出路径:项目 -> xxx属性页 -> 配置属性 ->连接器 -> 常规 -> 输出文件。
x.lib 输出路径:项目 -> xxx属性页 -> 配置属性 -> 连接器 -> 高级 -> 导入库。
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://www.cnblogs.com/rock-cc/p/9626606.html ( 4.2)