Linux编译遇到各种错误解决方法,例如: /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop.
背景
需要编译一些开源项目,例如在 Linux 上编译无限网卡驱动,制作路由器使用,编译 项目rtl8812au 项目目录如下:
一、安装编译器
主要是安装 gcc 编译器,举例:
yum -y install gcc gcc-c++
二、安装内核开发包
主要是安装 kernel-devel 内核开发模块,举例:
yum -y install kernel-devel kernel-headers make perl
三、进行编译和安装
主要是编译 C 开发的项目或文件,举例:
make && make install
四、其他报错
类似错误:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.10.0-862.el7.x86_64/build M=/root/rtl8812au-master modules
make: *** /lib/modules/3.10.0-862.el7.x86_64/build: No such file or directory. Stop.
make: *** [modules] error 2
解决:
其中(xxx)替换为文件目录下实际的版本号。
cd /lib/modules/3.10.0-(xxx).el7.x86_64/
rm -f build
ln -s /usr/src/kernels/3.10.0-(xxx).el7.x86_64/ build