我正在尝试制作简单的网络服务器,所以如果我在浏览器上搜索并输入我的设备的IP,我会看到一个网页。我找到了this wiki页面
我已按照步骤操作,但构建时出错。
我已包含链接文件夹"C:\stellarisware\third_party\lwip-1.3.2\apps\httpserver_raw"
以获取httpd.c等文件
我添加了httpd_init()
,但在构建时我收到了此错误。
[cc] C:\stellarisware\third_party\lwip-1.3.2\apps\httpserver_raw\fsdata.c:328:26: error: array type has incomplete element type
[cc] C:\stellarisware\third_party\lwip-1.3.2\apps\httpserver_raw\fsdata.c:330:26: error: array type has incomplete element type
[cc] C:\stellarisware\third_party\lwip-1.3.2\apps\httpserver_raw\fsdata.c:332:26: error: array type has incomplete element type
如果我查看这些文件,就在其中:
const struct fsdata_file file_img_sics_gif[] = {{NULL, data_img_sics_gif, data_img_sics_gif + 14, sizeof(data_img_sics_gif) - 14}};
const struct fsdata_file file_404_html[] = {{file_img_sics_gif, data_404_html, data_404_html + 10, sizeof(data_404_html) - 10}};
const struct fsdata_file file_index_html[] = {{file_404_html, data_index_html, data_index_html + 12, sizeof(data_index_html) - 12}};
这就是我的目录:
以下是来自网络服务器的源文件:download
这是我的main.c,在第270行我调用了httpd_init(); Download
答案 0 :(得分:2)
您需要从构建中排除fsdata.c
:右键单击文件 - >资源配置 - >从Build中排除 - >选择全部。
此文件是自动生成的,#include "fsdata.c"
IIRC中有fs.c
个语句。在这种情况下,.c
扩展名有点误导 - 它是C
源文件但不能单独编译,只能作为具有所有定义和#include
行的另一个文件的一部分。