带有lwip的webserver(Cortex M3,Stellaris LM3S6965评估板)

时间:2013-01-07 10:05:42

标签: c cortex-m3 lwip

我正在尝试制作简单的网络服务器,所以如果我在浏览器上搜索并输入我的设备的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}};

这就是我的目录:

enter image description here

以下是来自网络服务器的源文件:download

这是我的main.c,在第270行我调用了httpd_init(); Download

1 个答案:

答案 0 :(得分:2)

您需要从构建中排除fsdata.c:右键单击文件 - >资源配置 - >从Build中排除 - >选择全部。

此文件是自动生成的,#include "fsdata.c" IIRC中有fs.c个语句。在这种情况下,.c扩展名有点误导 - 它是C源文件但不能单独编译,只能作为具有所有定义和#include行的另一个文件的一部分。