SIONLIB-1.7.6 gcc10编译器环境中编译报错问题解决有哪些?194


雪糕帅气
雪糕帅气 2024-04-03 14:54:05 51429
分类专栏:问题 问题分类: 其它未定义问题
已结题

问题描述:

在gcc10编译器环境下编译SIONLIB,修改gfortran编译参数为”-w -fallow-argument-mismatch“后出现以下报错

gfortran -w -fallow-argument-mismatch sion_f90.f90
/usr/bin/ld: /usr/lib/gcc/aarch64-linux-gnu/10.3.1/../../../../lib64/crt1.o: in function `__wrap_main':
(.text+0x38): undefined reference to `main'
/usr/bin/ld: /tmp/ccqsZacF.o: in function `__sion_f90_MOD_lfsion_fread_character':
sion_f90.f90:(.text+0x54): undefined reference to `lfsion_fread_c_'
/usr/bin/ld: /tmp/ccqsZacF.o: in function `__sion_f90_MOD_lfsion_fread_logical':
sion_f90.f90:(.text+0x94): undefined reference to `lfsion_fread_c_'
/usr/bin/ld: /tmp/ccqsZacF.o: in function `__sion_f90_MOD_lfsion_fread_complex':
sion_f90.f90:(.text+0xd4): undefined reference to `lfsion_fread_c_'
/usr/bin/ld: /tmp/ccqsZacF.o: in function `__sion_f90_MOD_lfsion_fread_double_precision':
sion_f90.f90:(.text+0x114): undefined reference to `lfsion_fread_c_'
/usr/bin/ld: /tmp/ccqsZacF.o: in function `__sion_f90_MOD_lfsion_fread_real':
sion_f90.f90:(.text+0x154): undefined reference to `lfsion_fread_c_'
/usr/bin/ld: /tmp/ccqsZacF.o:sion_f90.f90:(.text+0x194): more undefined references to `lfsion_fread_c_' follow

1 个回答
  • 1843880570 进阶 2024-04-03 16:02:16

    1、数组定义错误
    ../../Libs/cmd/cmd_reboot.c:29:69: error: excess elements in array initializer [-Werror]
    unsigned long pmu_arr[3] ={ 0x082000a3, 0xf72000a2, 0x7f2190a2, 0xff };
                                                                        ^~~~
    1 error generated.
    common.mk:322: recipe for target 'obj_dir/cmd_reboot.o' failed
    1
    2
    3
    4
    5
    定义一个数组 a[n],说明该数组有n个元素,那么这个数组中元素最大的下标是 n–1;而元素 a[i] 表示数组 a 中第 i+1 个元素,数组修改为如下表示即可。

    unsigned long pmu_arr[] = { 0x082000a3, 0xf72000a2, 0x7f2190a2, 0xff };
    unsigned long pmu_arr[4] = { 0x082000a3, 0xf72000a2, 0x7f2190a2, 0xff };
    1
    2
    2、Not enough information to produce a SYMDEFs file
    "/tmp/aerY4D", line 73 (column 6): Warning: L6312W: Empty Execution region description for region _lu_data
    Error: L6388E: ScatterAssert expression (ImageLimit(_guard) <= (0x880010000 + 0x70000 - (0x20 * 0x400))) failed on line 79 : (0x880078180 <= 0x880078000)
    Not enough information to produce a SYMDEFs file.
    Finished: 1 information, 1 warning and 1 error messages.
    1
    2
    3
    4
    解决方法:
    这种报错一般是每个工程目录下有个.sct文件指定的每个工程的内存空间大小,可以根据需要根据需要修改内存值,但是要注意不要跟其他空间重叠,具体定义示例如下。


    3、文件乱码<U+0000>
    11-19 10:42:20.779 W   ../../Share/Lib/InfoPage.c:1161:7: error: null character ignored [-Werror,-Wnull-character]
    11-19 10:42:20.779 W   <U+0000><U+0000><U+0000><U+0000><U+0000><U+0000><U+0000>
    1
    2
    出现这种方式主要是在linux和windows下交叉修改代码导致,Windows的默认编码为GBK,Linux的默认编码为UTF-8。
    解决方法:设置程序编码方式
    以source insight为例,单个文件乱码解决办法:
    方法一:菜单栏中【File】 > 【Reload As Encoding…】 > 【Chinese Simplified (GB18030)】 > 选择后,点击load,问题解决!!!
    方法二:可以直接将文件结尾部分多余的空行删掉即可。

    所有文件乱码解决办法:
    菜单栏中 【Options】 > 【Preferences】 >File标签中,最下面的“Default encod­ing” :改成System Default(Windows ANSI) 或者Chinese Simplified(GB2312) CP:936,点击确定,问题解决!!!

    4、未定义或未申明报错
    如果只声明函数而没有定义函数(函数的具体实现部分),那么就会直接报错:

    Error: L6218E: Undefined symbol function“XXX” (referred from main.o)!
    1
    如果没有声明,但是已经定义了函数,只是会出现警告:

    Warning: #223-D: function “XXX” declared implicitly!
    1
    关于警告Warning:Implicit declaration of function “xxx” is invalid in C99!,说明函数已经定义,是函数的声明存在问题,检查以下几点:
    1.函数的声明放在头文件(H文件);
    2.函数定义在源文件(C文件);
    3.函数的名称是否一致(大小写要一致);
    4.声明被调用函数的头文件已经被包含(#include);
    5.函数声明的先后顺序(被调用的函数声明放在执行调用函数的声明前面)。

    5、代码中误加入中文
      if (r_scratch->s[16] ==PM_SP_FLAG ? TRUE : FALSE<U+FF09>
    //出现<U+FF09>报错删除相应报错点代码即可。

    赞同 0 反对 0

雪糕帅气新手
粉丝 0 发表 10 + 关注 私信
上周热门
统信系统能生成某一指定文件夹下的所有文件列表吗  2772
统信系统有自己的字幕屏幕保护程序吗  2533
统信软件能支持pandas吗  2456
统信系统如何在保证自己数据安全的基础上,进行数据分析,比如使用pandas进行大数据分析  2444
安全与发展,统信系统是如何在两者之间权衡,满足用户高效办公的要求  2104
统信系统的数据安全机制是什么  1770
统信软件支持python为什么不支持安装pandas  1115
您好,我想问一下,就是这银河麒麟系统,背景黑屏怎么办啊,其他的都正常,就是没有背景,设置里面的背景一点击系统就不响应了怎么解决?  177
我想连接共享打印机可是,搜索驱动时候没有,怎么办  162
uos有支持活体检测的软件吗  149
本周热议
麒麟系统登录输入密码后又需要重新输入密码,确定密码正确。如何处理? 12
求麒麟系统下的Broadcom 802.11n 无线网卡驱动 10
银河麒麟桌面操作系统V10 SP1安装应用时会反复提示安全授权认证,如何才能取消呢? 10
统信UOS系统下安装HP打印机驱动问题 10
银河麒麟系统登录时用户名是中文,如何将输入法切换成中文进行登录? 9
如何在统信系统使用VFP? 9
使用正版软件承诺书每年一签有相关的政策文件吗? 8
银河麒麟系统安装软件需要密码授权,单用户模式修改密码不行,如何解决 8
uos系统怎么装了向日葵,向日葵打不开啊? 7
有偿使用中国长城信创运维工程师(初级)证书 7

加入交流群

请使用微信扫一扫!