1

我正在尝试编写一个 C++ 程序来从我的 Pi B+ 收集数据并通过猫鼬网络服务器将其发送到网页。我在编译代码时遇到问题,出现以下错误:

mongoose.c: In function ‘void mg_send_data(mg_connection*, const void*, int)’:
mongoose.c:1562:54: error: invalid conversion from ‘const void*’ to ‘const char*’ [-fpermissive]
mongoose.c:717:13: error:   initializing argument 2 of ‘void write_chunk(connection*, const char*, int)’ [-fpermissive]

在我的主要 C++ 文件中,我有:

extern "C" {
        #include <time.h>
        #include <stdio.h>
        #include "mongoose.h"
        #include <math.h> 
}

int main()
{
   ...code...
}

我编译

g++ application.cpp mongoose.c -o application -Wall -pthread -ldl -lm

有人可以指出我正确的方向吗?我实际上并没有进行任何猫鼬调用,只是试图将其编译成可执行文件。我不想编辑猫鼬源代码,也许这是唯一的方法?

4

2 回答 2

0

可以使用 g++ 编译最新版本的 mongoose。

我刚刚用 g++ 编译了带有发布标签/5.5的示例

于 2015-02-14T23:21:10.303 回答
0

mongoose.c应该使用 C 编译器编译,因为 C++ 不允许从[const] void *到 的隐式转换[const] any_other_type *。在 C 中这是允许的。

于 2015-01-27T09:22:38.650 回答