tiny4412上出现这个错误,有知道怎么回事嘛

img


在电脑上可以运行,然后将gcc文件烧到板子上以后,运行文件,出现了这个错误,一直解决不了,不知道哪出的错

1、语法错误:错误可能出现在你的代码中,例如在函数、条件语句或循环中的括号不匹配。请检查你的代码,确保所有的括号都是成对出现的,并且没有缺失或多余的括号。

2、编译器或编译选项问题:你使用的编译器或编译选项可能与Tiny4412的环境不兼容。请确保你使用的编译器版本和编译选项与Tiny4412的要求相匹配,并且已正确配置编译环境。

3、编码问题:在一些情况下,特殊字符或编码问题可能导致编译器错误地解析代码。请确保你的代码文件使用正确的字符编码,并且没有包含不可见的特殊字符。

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/1070590
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:【华为云技术分享】鲲鹏弹性云服务器GCC交叉编译环境搭建指南
  • 除此之外, 这篇博客: 交叉编译指令中的 1、gcc交叉编译指令的一些选项含义: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 样例:
    arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 $(INCLUDE) -o $@ $<
    1)总体选项:
    -c:预处理,编译和汇编源文件,但不做连接,编译器根据源文件生成OBJ文件
    -S:编译后停止
    -E:预处理后停止
    -o file :指定输出文件 file
    -v:显示编译细节
    -Wa,-mimplicit-it=thumb 将逗号分隔的-mimplicit-it=thumb传递给汇编器

    2)警告选项:
    -w:的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的
    -W:选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。
    -Wall:选项意思是编译后显示所有警告。

    3)连接器选项:
    -I library :连接名为 library 的库文件
    -nostartfiles : 不连接系统标准启动文件,二标准库文件仍然正常使用
    -nostdlib : 不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器
    -static : 在支持动态连接的系统上阻止连接共享库
    -shared : 生成一个共享OBJ文件,它可以和其他OBJ文件连接产生可执行文件
    -Xlinker option : 把选项option传递给连接器
    -Wl ,option : 把选项option传递给连接器
    -u symbol : 使连接器认为取消了 symbol 的符号定义,从而连接库文件以取得定义

    4)优化选项:
    -O、-O1
    -O2
    -O3
    -O0

    5)调试选项:
    -g:产生调试信息
    $(INCLUDE):
    指明头文件(包含路径)

  • 您还可以看一下 韦东山老师的韦东山升级版嵌入式视频之快速入门课程中的 GCC编译器的使用小节, 巩固相关知识点