Repository navigation
Troubleshooting
508364 edited this page Jun 8, 2026
·
3 revisions
问题: 找不到编译器
解决方案:
- 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);
// ...
}如果您遇到问题,请检查:
- 是否安装了必要的依赖
- 是否使用正确的构建命令
- 是否有足够的权限
请提供以下信息:
- 操作系统版本
- 编译命令
- 错误日志
- 代码示例
许可声明 / License Notice 本仓库基于 MIT 协议开源。如果您使用了本项目,请保留原作者署名并附带 LICENSE 文件
This repository is open-sourced under the MIT License. If you use this project, please retain the original author's attribution and include the LICENSE file.
- Auto-complete - 自动补全charset和Vue引入
- Auto-route - 自动路由建议
- ErrorPage - 自定义错误页面模板
- IPC - 进程间通讯服务
- LinkAgg - 同端口链路聚合
- Lang - 多语言错误消息
- Vue - Vue.js后端支持
- Extension - 扩展库开发指南
- TLS - TLS/SSL 加密扩展
- MQTT - MQTT v5.0 协议客户端
- MQTT-Server - MQTT v5.0 协议服务端(Broker)
作者: 508364
版本: 2.4.2
许可: MIT License