C++ Arm板上编译的makefile编译错误

C++ Arm板上编译的makefile编译错误,c++,c,makefile,arm,C++,C,Makefile,Arm,我想在我的基于Ubuntu12.0.4LTS的操作系统(Xilinux)上安装rt8192cu驱动程序,该操作系统运行在ARM处理器(microzed board,zynq处理器)上 在我输入上述命令并进入目录并键入make之后,我得到以下错误 make[1]: Entering directory `/usr/src/kernels/3.12.0-xillinux-1.3' Makefile:579: /usr/src/kernels/3.12.0-xillinux-1.3/arch/armv

我想在我的基于Ubuntu12.0.4LTS的操作系统(Xilinux)上安装rt8192cu驱动程序,该操作系统运行在ARM处理器(microzed board,zynq处理器)上

在我输入上述命令并进入目录并键入make之后,我得到以下错误

make[1]: Entering directory `/usr/src/kernels/3.12.0-xillinux-1.3'
Makefile:579: /usr/src/kernels/3.12.0-xillinux-1.3/arch/armv7l/Makefile: No such file or directory
make[1]: *** No rule to make target `/usr/src/kernels/3.12.0-xillinux-1.3/arch/armv7l/Makefile'.  Stop.
make[1]: Leaving directory `/usr/src/kernels/3.12.0-xillinux-1.3'
make: *** [modules] Error 2
makefile可在以下位置找到:

我使用的基于ubuntu的操作系统是


如何修改makefile以直接在我的平台上编译?

如果我理解正确,您正在尝试为RT8192CU Wi-Fi IC编译Linux内核模块。 此外,您直接在Zynq上运行Ubuntu,并尝试就地编译

您收到的错误是由于缺少内核头,即“3.12.0-xillinux-1.3”,它应该是您正在使用的同一内核版本(请尝试在终端中写入uname-r)

最快的解决方法是让Ubuntu安装所需的源代码/头文件(前提是内核模块以发行版提供的源代码为目标,并且您在发出以下命令时正在运行特定的内核)


如果我理解正确,您正在尝试为RT8192CU Wi-Fi IC编译Linux内核模块。 此外,您直接在Zynq上运行Ubuntu,并尝试就地编译

您收到的错误是由于缺少内核头,即“3.12.0-xillinux-1.3”,它应该是您正在使用的同一内核版本(请尝试在终端中写入uname-r)

最快的解决方法是让Ubuntu安装所需的源代码/头文件(前提是内核模块以发行版提供的源代码为目标,并且您在发出以下命令时正在运行特定的内核)


即使安装了linux标头,有时也会失败,一个快速解决方法是:

ln -s /lib/modules/`uname -r`/build/arch/arm /lib/modules/`uname -r`/build/arch/armv7l

一个长期的解决方法是使用相同的点配置文件从源代码编译您自己的配置,并安装所有内容。

即使安装了linux头,有时也会失败,一个快速的解决方法是:

ln -s /lib/modules/`uname -r`/build/arch/arm /lib/modules/`uname -r`/build/arch/armv7l

一个长期的解决方法是使用相同的点配置文件从源代码编译您自己的配置,并安装所有内容。

在键入
make
@πάντα之前,您可能需要运行
configure
进行交叉编译ῥεῖ 我不想在这里交叉编译。我想在我的平台上直接编译。那么我应该如何修改make文件来做到这一点呢?啊,我错过了这一点。无论如何,运行
configure
是常用的方法。@πάνταῥεῖ 好的,如果我尝试在我的ubuntu操作系统(windows中的virtualbox)上进行交叉编译,我如何使用configure进行交叉编译?我是交叉编译新手,因此需要您的帮助。在键入
make
@πάντα之前,您可能需要运行
configure
进行交叉编译ῥεῖ 我不想在这里交叉编译。我想在我的平台上直接编译。那么我应该如何修改make文件来做到这一点呢?啊,我错过了这一点。无论如何,运行
configure
是常用的方法。@πάνταῥεῖ 好的,如果我尝试在我的ubuntu操作系统(windows中的virtualbox)上进行交叉编译,我如何使用configure进行交叉编译?我是交叉编译新手,因此需要您的帮助。这与
arch/armv7l
子目录不存在(也不会存在)这一事实无关吗?这本身就意味着有什么东西直接从uname设置了
$ARCH
,而不是让Kbuild正确地计算出来。@也许你是对的,忽略了这个细节,我假设所有内核src目录都丢失了。。。假设存在头,他应该能够按照您的建议使用
make ARCH=arm
进行编译。无论如何,作为嵌入式开发人员,我建议从适当的“受控”环境交叉编译内核和树外驱动程序,aka build machine。这与
arch/armv7l
子目录不存在(也不会存在)这一事实无关吗?这本身就意味着有什么东西直接从uname设置了
$ARCH
,而不是让Kbuild正确地计算出来。@也许你是对的,忽略了这个细节,我假设所有内核src目录都丢失了。。。假设存在头文件,他应该能够按照您的建议使用
make ARCH=arm
进行编译。无论如何,作为嵌入式开发人员,我建议从适当的“受控”环境,即构建机器交叉编译内核和树外驱动程序。
ln -s /lib/modules/`uname -r`/build/arch/arm /lib/modules/`uname -r`/build/arch/armv7l