mcxn947_web_lwip_httpsrv_bm例程中makefsdata

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mcxn947_web_lwip_httpsrv_bm例程中makefsdata

431 Views
Zhihao1
Contributor I

我是用import SDK  examples选择frdmmcxn947板卡中mcxn947_web_lwip_httpsrv_bm的例程,程序是可以正常运行,但是我想要把我设计的HTML文件编译成.c,所有我在以下目录中,找到makefsdata的源文件,MCUXpressoIDE_11.10.0_3148\workspace\frdmmcxn947_web_lwip_httpsrv_bm\lwip\src\apps\http\makefsdata

但是我在Windows下如何运行呢,我尝试使用gcc来编译,但是报错了,下面是我在CMD中运行的过程

PS C:\Documents\MCUXpressoIDE_11.10.0_3148\workspace\frdmmcxn947_web_lwip_httpsrv_bm\lwip\src\apps\http\makefsdata> gcc -o makefsdata makefsdata.c
makefsdata.c:103:10: fatal error: lwip/init.h: No such file or directory
103 | #include "lwip/init.h"
| ^~~~~~~~~~~~~
compilation terminated.

 

附件里面是目录下的文件

0 Kudos
Reply
4 Replies

384 Views
HangZhang
NXP Employee
NXP Employee

Hi @Zhihao1 

你遇到的错误表明编译器无法找到 lwip/init.h 文件,这是编译 makefsdata.c 所必需的。这个问题可能是由于缺少包含路径或文件引用错误。你可以按照以下步骤解决这个问题:
设置包含路径:在使用 GCC 编译 makefsdata.c 文件时,需要指定包含 lwip 头文件的路径。你可以通过添加 -I 标志,并跟上包含 lwip 头文件目录的路径来做到这一点。
例如:
gcc -o makefsdata makefsdata.c -Ipath\to\lwip\include
 将 path\to\lwip\include 替换为包含 lwip 头文件的实际路径,这个路径应该在你的项目或 SDK 目录中。 

编译 makefsdata 工具:你需要将 makefsdata.c 与所有必要的源文件和链接库一起编译。如果有多个源文件,应该将它们一起编译。
例如:
gcc -o makefsdata makefsdata.c other_source_file.c -Ipath\to\lwip\include

 

BR

Hang

0 Kudos
Reply

368 Views
Zhihao1
Contributor I

我已经成功使用makefsdata转化了html,在PC上通过浏览器查看ip看到页面,但是和还要的结果不太一样,我通过右键查看源代码,发现和编写的有一些不一样。

并不能通过ssi和sgi来实现相互之间的数据传递,我已经在frdmmcxn947_web_lwip_httpsrv_bm基础上添加了httpd_cgi_ssi.c等文件,在调试的时候也能成功执行到正确的位置,但是在网页却不显示相对应的数据,能麻烦帮我看一下工程吗,非常的感谢!

 

0 Kudos
Reply

318 Views
HangZhang
NXP Employee
NXP Employee

Hi @Zhihao1 

您好,我下载了您的工程,但是编译报错。

关于HTML代码的不同,这可能是由于makefsdata工具在转换过程中对HTML代码进行了一些优化或者修改。您可以检查一下转换后的C文件中的HTML代码,看看是否有任何不同之处。

检查您的浏览器是否支持SSI和CGI。并非所有浏览器都支持这些功能,因此在某些浏览器中可能无法看到预期的结果。

BR

Hang

0 Kudos
Reply

417 Views
Zhihao1
Contributor I
有一个问题是,我并没有找到原demo中HTML转换成.c或者.h的文字,麻烦能告诉我一下在哪儿呢,
我现在想要实现CGI和SSI,完成数据的上传和网页的控制,目前卡在如何转换html文件
0 Kudos
Reply