nmealib 库移植 - -编译报错不完全类型 error: field ‘st_atim’ has incomplete type

本文主要是介绍nmealib 库移植 - -编译报错不完全类型 error: field ‘st_atim’ has incomplete type,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、报错提示-不完全类型(has incomplete type)

Compiling obj/main.o from main.c..
arm-linux-gcc -g -w -std=gnu99 -DLINUX  -I./ -Inmealib/inc/ -c  -o obj/main.o main.c 
In file included from /home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/sys/stat.h:107:0,from main.c:7:
/home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/bits/stat.h:72:21: error: field ‘st_atim’ has incomplete typestruct timespec st_atim;  /* Time of last access.  */^
/home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/bits/stat.h:73:21: error: field ‘st_mtim’ has incomplete typestruct timespec st_mtim;  /* Time of last modification.  */^
/home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/bits/stat.h:74:21: error: field ‘st_ctim’ has incomplete typestruct timespec st_ctim;  /* Time of last status change.  */^
In file included from main.c:7:0:
/home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/sys/stat.h:365:33: error: array type has incomplete element type__const struct timespec __times[2],^
/home/user/Desktop/nuc980-sdk/sdk/arm_linux_4.8/usr/include/sys/stat.h:372:56: error: array type has incomplete element typeextern int futimens (int __fd, __const struct timespec __times[2]) __THROW;^
make: *** [makefile:83: obj/main.o] Error 1

在这里插入图片描述

二、原因

  这种情况是由工程中include的头文件里有一个与系统中的头文件重名了,因此编译器查找头文件时,是查找的你工程中或者其他非系统路径下的头文件,导致系统中的头文件不再被包含了,因此找不到变量或结构体的声明。工程中因为移植的工程中有个time.h的头文件,而系统中已经有了一个time.h,因此冲突了。

三、解决办法

将移植的库文件 time.h 文件改成其它名字。
注意:移植的库文件中所有include此头文件的地方都需要改动。

这篇关于nmealib 库移植 - -编译报错不完全类型 error: field ‘st_atim’ has incomplete type的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/604451

相关文章

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

关于Docker Desktop的WSL报错问题解决办法

《关于DockerDesktop的WSL报错问题解决办法》:本文主要介绍关于DockerDesktop的WSL报错问题解决办法的相关资料,排查发现是因清理%temp%文件夹误删关键WSL文件,... 目录发现问题排查过程:解决方法其实很简单:重装之后再看就能够查到了:最后分享几个排查这类问题的小www.cp

Python如何查看数据的类型

《Python如何查看数据的类型》:本文主要介绍Python如何查看数据的类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python查看数据的类型1. 使用 type()2. 使用 isinstance()3. 检查对象的 __class__ 属性4.

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二