You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Dwm时遭遇drw_create函数类型冲突错误求助

解决Dwm编译时drw_create类型冲突错误

错误原因

这个错误说明drw_create函数的声明(通常在drw.h头文件中)和实现(drw.c中的代码)参数类型/数量不匹配,C语言要求函数的声明与定义必须完全一致,否则编译器会抛出类型冲突错误。

修复步骤

  1. 打开Dwm源码目录下的drw.h文件,找到drw_create的函数声明行。
  2. 将声明的参数列表、返回值类型,和你提供的drw.c中的实现完全对齐:
    你的drw.c中drw_create的签名是:
    Drw *drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h, Visual *visual, unsigned int depth, Colormap cmap)
    
    确保drw.h中的声明和上面完全一致——比如如果drw.h里的depth是int而非unsigned int,或者参数顺序不对,就修改成和实现一致的内容。
  3. 保存drw.h后重新执行编译命令(通常是make clean && make)。

常见触发场景

  • 手动打补丁时,补丁只修改了drw.c的函数实现,却没同步更新drw.h的函数声明。
  • 多个补丁之间存在冲突,不同补丁对drw_create的签名做了不同修改,导致声明和定义脱节。

内容的提问来源于stack exchange,提问作者t.entomushi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:16:07