原因:缺少gcc、g++、make、libgl1
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt-get install libgl1-mesa-dev
原因安装的qt只能缺少中文输入环境。
安装fcitx-qt5:sudo apt-get install fcitx-frontend-qt5
下载路径:https://pinyin.sogou.com/linux/
ubuntu下安装软件包命令
sudo dpkg -i /mnt/hgfs/ubuntu/software_pack/sogoupinyin_2.4.0.3469_amd64.deb
此时有可能安装不成功,调用apt的自动修复,自动安装缺少的包:sudo apt-get install -f
查看libfcitxplatforminputcontextplugin.so库路径:dpkg -L fcitx-frontend-qt5 |grep .so
将该库拷贝到Qt5.12.6/5.12.6/gcc_64/plugins/platforminputcontexts/目录下:
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./Qt5.12.6/5.12.6/gcc_64/plugins/platforminputcontexts/
该库拷贝到Qt5.12.6/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/目录下
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./Qt5.12.6/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
1.关网络服务:sudo service network-manager stop
2.删除网络状态文件:sudo rm /var/lib/NetworkManager/NetworkManager.state
3.启动网络服务:sudo service network-manager start
4.修改配置文件将flase改为true:sudo gedit /etc/NetworkManager/NetworkManager.conf
5.重启网络服务:sudo service network-manager restart
若上面方式还是无法解决,则重置网络服务器。
sudo dpkg -i <xxx.deb> #安装deb软件
sudo dpkg -r <软件包> #移除安装的deb包
sudo apt-get install -f #自动安装缺少的库
sudo apt-get install <软件> #在线安装软件
sudo apt-get remove <软件包名字> #删除已安装的软件包(保留配置文件)
sudo apt-get --purge remove <软件> #删除已安装的软件包(不保留配置文件)
sudo apt-get update #更新
sudo apt-get upgrade #升级已安装的软件包,在升级前先执行安装
安装 flex 和 bison,重新make menuconfig即可。
sudo apt-get install flex
sudo apt-get install bison
Linux下内核源码位置: /usr/src/
Ubuntu下查看系统信息: sudo lsb_release -a
[wbyq@wbyq src]$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
Ubuntu下查看内核版本信息:cat /proc/version 或者 uname -a
[wbyq@wbyq src]$ cat /proc/version
Linux version 5.4.0-126-generic (buildd@lcy02-amd64-087) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #142~18.04.1-Ubuntu SMP Thu Sep 1 16:25:16 UTC 2022
[wbyq@wbyq src]$ uname -a
Linux wbyq-virtual-machine 5.4.0-126-generic #142~18.04.1-Ubuntu SMP Thu Sep 1 16:25:16 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
#include
#include
#include
/*驱动入口函数*/
static int __init tiny4412_wbyq_module_init(void)
{
/*内核层打印函数*/
printk("设备层注册成功\n");
return 0;
}
/*驱动出口函数*/
static void __exit tiny4412_wbyq_module_cleanup(void)
{
printk("设备层注销成功\n");
}
module_init(tiny4412_wbyq_module_init);/*驱动入口函数,注册驱动时调用*/
module_exit(tiny4412_wbyq_module_cleanup);/*驱动出口函数,驱动注销时调用*/
MODULE_LICENSE("GPL"); //驱动许可证
MODULE_AUTHOR("it_ashui");
MODULE_DESCRIPTION("tiny4412 hello module");
KER_ADD=/usr/src/linux-headers-5.4.0-126-generic #内核Makefile路径
app:
make -C $(KER_ADD) M=`pwd` modules #调用内核Makefile编译当前模块
.PHONY=celan
clean:
make -C $(KER_ADD) M=`pwd` modules clean #清空文件
obj-m +=drv_hello.o #驱动依赖文件
[wbyq@wbyq drv_hello]$ sudo insmod drv_hello.ko //安装驱动
[wbyq@wbyq drv_hello]$ lsmod //查看安装的驱动
Module Size Used by
drv_hello 16384 0
[wbyq@wbyq drv_hello]$ modinfo drv_hell.ko //查看驱动信息
modinfo: ERROR: Module drv_hell.ko not found.
[wbyq@wbyq drv_hello]$ modinfo drv_hello.ko
filename: /mnt/hgfs/ubuntu/work/drv_hello/drv_hello.ko
description: tiny4412 hello module
author: it_ashui
license: GPL
srcversion: C3B117744D970DDBCE90F06
depends:
retpoline: Y
name: drv_hello
vermagic: 5.4.0-126-generic SMP mod_unload modversions
注意:驱动程序正常会使用printk向终端打印调试信息, 如果驱动安装之后当前终端没有反应,可以通过dmesg命令查看日志里是否有输出。
[wbyq@wbyq drv_hello]$ dmesg --ctime
[六 11月 19 11:58:11 2022] 设备层注册成功