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

Ubuntu24.04 LTS编译DEXP ZH-UTC2网卡驱动Makefile报错:cc不存在

编译DEXP ZH-UTC2 USB以太网适配器驱动报错求助

我使用Ubuntu 24.04 LTS系统,尝试通过make命令编译DEXP ZH-UTC2 USB以太网适配器的驱动,执行后出现报错。

驱动Makefile内容

TARGET  = ax_usb_nic
KDIR    = /lib/modules/$(shell uname -r)/build
PWD = $(shell pwd)
CFILES  = ax_main.c \
      ax88179_178a.c \
      ax88179a_772d.c
EXTRA_CFLAGS = -DEXPORT_SYMTAB -fno-pie
ifneq (,$(filter $(SUBLEVEL),14 15 16 17 18 19 20 21))
MDIR    = kernel/drivers/usb/net
else
MDIR    = kernel/drivers/net/usb
endif

$(TARGET)-objs := $(CFILES:.c=.o)
obj-m := $(TARGET).o

all:
    make -C $(KDIR) M=$(PWD) modules 
    $(CC) ax88179_programmer.c -o ax88179_programmer #<-- ERROR
    $(CC) ax88179a_programmer.c -o ax88179a_programmer
    #$(CC) ax_ioctl.c -o ax_ioctl

install:
ifneq (,$(wildcard /lib/modules/$(shell uname -r)/$(MDIR)/ax88179_178a.ko))
    gzip /lib/modules/$(shell uname -r)/$(MDIR)/ax88179_178a.ko
endif
    make -C $(KDIR) M=$(PWD) INSTALL_MOD_DIR=$(MDIR) modules_install
    depmod -A

clean:
    make -C $(KDIR) M=$(PWD) clean
    rm -f ax88179_programmer ax88179a_programmer ax_ioctl

执行make后的错误信息

make -C /lib/modules/6.8.0-31-generic/build M=/home/lelechko/Downloads/dexp-zh-utc2_drajver_100507_30082022/AX88772D-AX88179A-Drive/ASIX_USB_NET_Linux_Driver_v1.0.0_b7_Source/ASIX_USB_NET_Linux_Driver_v1.0.0_Source_b7 modules 
make[1]: Entering directory '/usr/src/linux-headers-6.8.0-31-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
make[1]: Leaving directory '/usr/src/linux-headers-6.8.0-31-generic'
cc ax88179_programmer.c -o ax88179_programmer 
make: cc: No such file or directory
make: *** [Makefile:19: all] Error 127

我完全不懂Makefile,恳请帮忙解决,需要更多信息可以随时告知。


解决方案

1. 安装必要的编译工具

Ubuntu默认没有cc命令,且可能缺少基础编译依赖,先执行以下命令安装:

sudo apt update && sudo apt install gcc build-essential linux-headers-$(uname -r)
  • build-essential包含gcc、make等核心编译工具
  • linux-headers-$(uname -r)是当前内核版本的头文件,确保驱动编译与内核版本匹配

2. 修改Makefile中的编译器命令

打开驱动目录下的Makefile,将所有$(CC)替换为gcc:
原代码行:

$(CC) ax88179_programmer.c -o ax88179_programmer
$(CC) ax88179a_programmer.c -o ax88179a_programmer

修改后:

gcc ax88179_programmer.c -o ax88179_programmer
gcc ax88179a_programmer.c -o ax88179a_programmer

3. 重新执行编译

修改完成后回到驱动目录,依次执行:

make
sudo make install

内容的提问来源于stack exchange,提问作者chipichippichappachapppa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 20:00:21