Troubleshooting - 508364/NetLeaf GitHub Wiki
问题: 找不到编译器
解决方案:
- Windows: 在 Visual Studio Developer Command Prompt 中运行
- Linux: 安装 build-essential 和 cmake
sudo apt install build-essential cmake问题: bind: Address already in use
解决方案:
- 更换端口号
- 关闭占用该端口的进程
# Linux/Mac
lsof -i :8080
kill -9 <PID>
# Windows
netstat -ano | findstr :8080
taskkill /F /PID <PID>问题: 页面显示 {{<var>xxx</var>}} 而不是实际值
解决方案:
- 确保使用
nl_web_add_html_with_vars或nl_web_add_vue_with_vars - 检查变量名是否匹配
- 确保变量数组和值数组长度一致
问题: 中文显示乱码
解决方案:
// 设置响应编码为UTF-8
nl_web_set_encoding(server, "UTF-8");问题: 找不到交叉编译工具链
解决方案:
# 安装交叉编译工具链
sudo apt install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf gcc-riscv64-linux-gnu问题: 长时间运行内存增长
解决方案:
- 使用
nl_web_destroy释放服务器资源 - 使用
nl_json_destroy释放JSON对象
问题: 调试日志看不到输出
解决方案:
// 设置日志级别为DEBUG
nl_log_set_level(NL_LOG_DEBUG);
// 或启用调试模式
nl_debug_enable(1);#include "netleaf.h"
int main() {
// 启用调试模式
nl_debug_enable(1);
// 创建服务器
nl_web_server_t* server = nl_web_create(8080);
// 启动服务器
nl_web_start(server);
while (1) sleep(1);
return 0;
}void my_log_callback(nl_log_level_t level, const char* msg, void* user_data) {
const char* levels[] = {"DEBUG", "INFO", "WARN", "ERROR"};
printf("[%s] %s\n", levels[level], msg);
}
int main() {
nl_log_set_callback(my_log_callback, NULL);
// ...
}如果您遇到问题,请检查:
- 是否安装了必要的依赖
- 是否使用正确的构建命令
- 是否有足够的权限
请提供以下信息:
- 操作系统版本
- 编译命令
- 错误日志
- 代码示例