-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
无法直接部署到web,踩坑完毕后发现无法显示页面 #21
Comments
我用的编译命令是, 先前已用emsdk_env部署环境
不知是不是和和这个有关,部署其他传统awtk项目就没弹出这个。 |
浏览器里是个受限环境,跑不了httpd服务。通常在嵌入式系统中启用httpd服务,AWTK web通过xml http request去请求httpd,获取数据来显示。 |
那web上无法显示界面的问题如何解决,需要卸掉httpd服务吗? |
不太清楚你的意思,但我感觉httpd服务跟在web上无法显示应该是无关的,我自己按照mvvm-c-hello的sconstuct配置尝试把awtk-mvvm移植到designer的模版项目运行temperature1的例子,demo在桌面上正常运行,但是部署到web也是同样什么都无法显示。 |
之前 mvvm 没有支持 web。你更新一下 awtk 和 awtk-mvvm,参考下这两个文件:
谢谢 |
更新了,尝试部署awtk-mvvm新加的那个build.json,结果报错:
|
awtk也要更新 |
awtk-web build.py里build_awtk_js有办法让它只编译部分未编译的文件吗? |
这次awtk和awtk-mvvm都更新过了。
我按照mvvm_for_web.md里的声明改了application.c,就变成了这种情况。 之前自己移植是修改main.c, 在 #include "mvvm_app.inc"
#define GLOBAL_INIT() mvvm_app_init()
#define GLOBAL_EXIT() mvvm_app_deinit() 这样demo程序运行时, 通过GLOBAL_INIT将跳转到mvvm_app_init。 不知道会不会和这个冲突,但是我如果把上面main.c的修改去掉的话scons桌面端是无法运行的。 模版项目目前只根据mvvm_for_web.md改了application.c,build.json如下:
我不知道自己哪个步骤忘搞了。 |
上述问题已解决,mvvm_for_web.md的声明需要改改,application.c上对
应该是实现而不是声明,因为没有源文件链接,上面两个函数真正的实现是放在了awtk-mvvm的mvvm_app.inc文件里面,引用不到。 解决方法:
然后再根据【调用 MVVM 初始化和反初始化函数】修改。 |
根据mvvm_for_web.md文档的方法,还是无法在浏览器上显示mvvm_c_hello例子的内容,不过awtk designer的模版项目能移植mvvm并且部署到浏览器了。 |
首先提示找不到httpd头文件,在build.json的Includes加入
"../awtk-restful-httpd/src/httpd"
解决。然后报错:
原因是httpd.c用的上述函数并没有被include。
在httpd.c加上
报错:
又改为:
解决。
然后编译提示undefined symbol, 继续在build.json添加路径,修改完毕的build.json如下(项目README提到的依赖我是安装在同级目录):
终于编译成功,但是服务器上看页面什么都没显示?
控制台输出:
The text was updated successfully, but these errors were encountered: