.\MQTT.axf: Error: L6200E: Symbol __stdout multiply defined (by stdio_streams.o and usart.o).
时间: 2023-09-24 16:08:11 浏览: 64
这错误通常是由于重复定义了 __stdout 变量导致的。在 stdio_streams.o 和 usart.o 中都定义了该变量。解决这个问题的方法是在其中一个文件中声明 __stdout 变量,而在另一个文件中使用 extern 关键字来引用它。这样就只有一个定义了 __stdout 变量,而另一个文件则可以引用它而不会导致重复定义错误。
相关问题
paho.mqtt.cpp中mqtt::make_message如何发送JSONcpp的数据
在paho.mqtt.cpp中,可以使用Json库来创建JSON数据,然后使用mqtt::make_message函数将其发送到MQTT代理。具体步骤如下:
1. 首先,需要包含以下头文件:
```cpp
#include "MQTTClient.h"
#include "json/json.h"
```
2. 然后,可以使用Json库来创建JSON数据。例如,以下代码创建了一个包含两个键值对的JSON对象:
```cpp
Json::Value root;
root["name"] = "Alice";
root["age"] = 25;
```
3. 接下来,将JSON对象转换为字符串。可以使用Json::FastWriter类来实现这一点:
```cpp
Json::FastWriter writer;
std::string json_str = writer.write(root);
```
4. 然后,可以使用mqtt::make_message函数将JSON数据发送到MQTT代理。以下是一个示例:
```cpp
MQTTClient client;
// 连接到MQTT代理
// ...
// 创建JSON数据
Json::Value root;
root["name"] = "Alice";
root["age"] = 25;
// 将JSON数据转换为字符串
Json::FastWriter writer;
std::string json_str = writer.write(root);
// 将JSON数据发送到MQTT代理
MQTTClient_message pubmsg = mqtt::make_message("topic", json_str.c_str());
client.publish(pubmsg);
```
bash: ./mqtt_client: cannot execute binary file: Exec format error
这个错误一般是由于尝试在不支持的架构上运行编译好的二进制文件导致的。例如,你可能在32位的操作系统上尝试运行一个只能在64位操作系统上运行的二进制文件,或者是在ARM架构的设备上尝试运行一个只能在x86架构上运行的二进制文件。
要解决这个问题,你需要找到正确的二进制文件,或者重新编译适用于当前架构的二进制文件。可以通过以下步骤来检查二进制文件适用于哪种架构:
1. 运行`file`命令查看二进制文件的类型。例如,运行`file mqtt_client`可以查看mqtt_client文件的类型。
2. 如果文件类型为ELF,则运行`file`命令查看架构类型。例如,如果文件类型为ELF 64-bit LSB shared object,说明这是一个64位的可共享目标文件。
如果你确定当前系统不支持该二进制文件的架构,则需要找到适用于当前架构的二进制文件或者重新编译源代码以生成适用于当前架构的二进制文件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)