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

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd