你好,我想在 Ubuntu 电脑上使用 CYW4373A0。
当我尝试构建 btusb 驱动程序时,出现了构建错误。 如何解决?
下面是 Ubuntu 的错误信息。 谢谢!
make -C /lib/modules/6.5.0-27-generic/build SUBDIRS=/home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb M=/home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb modules
make[1]:entering directory '/usr/src/linux-headers-6.5.0-27-generic'
warning: the compiler differs from the one used to build the kernel
内核是由:x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
您正在使用: gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
CC [M] /home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb.o
CC [M] /home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb_dev.o
/home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb_dev.c: 在函数 'btusb_ioctl' 中:
/home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb_dev.c:1015:17: error: implicit declara
tion of function 'kernel_termios_to_user_termios_1' [-Werror=implicit-function-declaration]
1015 | if (kernel_termios_to_user_termios_1((struct termios __user *)arg, p_dev->kterm))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb_dev.c:1034:17: error: implicit declaration of function 'user_termios_to_kernel_termios_1' [-Werror=implicit-function-declaration]
1034 | if (user_termios_to_kernel_termios_1( p_dev->kterm, (struct termios __user *)arg))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: 一些警告被当作错误
make[3]:*** [scripts/Makefile.build:251: /home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb/src/btusb_dev.o]。 错误 1
make[2]:*** [/usr/src/linux-headers-6.5.0-27-generic/Makefile:2039: /home/bt/CYW4373A0/airoc/opt/Tools/AirocDebugTool/1.4.0.3794/drivers/btusb] *** 错误 2
make[1]:*** [Makefile:234: __sub-make] Error 2
make[1]:离开目录 '/usr/src/linux-headers-6.5.0-27-generic'
make:*** [Makefile:72: default] 错误 2