zoukankan      html  css  js  c++  java
  • Makefile错误总结

    自己在做嵌入式驱动时,编写makefile文件是犯的错及解决办法

    问题1:makefile 3 missing separator.stop;

    问题2:Nothing to be done for 'build'

    解决:

    在makefile文件里不要乱用TAB,只有命令所在的行才能且只能以TAB开头!(TAB不能用多个空格代替哈)

    其他的如,make变量的定义、赋值,make内定函数如$(error "strings")都不能以TAB开头,不然make会将其作为命令来处理!

    我就是因为用了空格,没用tab才导致上述两种错误的。

    查阅网上资料:

    问题1,还有可能是编码方式引起。这个原因不多见,不容易发现。查看/etc/vimrc文件以及~/.vimrc,查看是否有set fileencodings的选项,是否设定了utf-8。没有的话加上。

    问题2,还有可能是编译的文件没有改动,重复编译导致。

    问题3;

    因为编译器版本原因

    我是在Ubuntu上编译arm上运行的驱动,得指定交叉编译工具

    # Kernel modules
        obj-m += EMIF_linux.o
    
    build: kernel_modules
    
    kernel_modules:
        make -C /home/gaoxingpeng/dm365/dvsdk_dm365_4_02_00_06/psp/linux-2.6.32.17-psp03.01.01.39 M=$(CURDIR) modules ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
          
    
    clean:
        make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean

    注意:编译器后面“-”,还有“gcc”没写,它会自己添加,如果你写完整了,它仍然添加并报错。

    参考:https://blog.csdn.net/limanjihe/article/details/52231243

  • 相关阅读:
    第八篇:Vue组件传参
    第七篇:Vue的路由逻辑跳转
    第六篇:组件数据局部化处理
    第五篇:Vue项目的初始化
    第四篇:Vue的项目开发
    第三篇:Vue指令
    第二篇:Vue实例成员
    第一篇:Vue基础
    第六篇:js对象,类和函数补充
    AngularJS之jeDate日期控件基本使用
  • 原文地址:https://www.cnblogs.com/xdyixia/p/9398849.html
Copyright © 2011-2022 走看看