[技术问答]

关于结构变量重复定义?

[复制链接]
1335|17
手机看帖
扫描二维码
随时随地手机跟帖
天风立马|  楼主 | 2014-3-31 20:19 | 显示全部楼层 |阅读模式
为什么头文件里用了#ifndef #define #endif还是避免不了 Error: L6200E: Symbol GPIO_CTRL multiply defined (by mainled.o and systeminit.o).
为什么?求解。
从小木丁丁| | 2014-3-31 21:54 | 显示全部楼层
就是那么个格式,就是那么用,具体不清楚

使用特权

评论回复
niuyaliang| | 2014-4-1 08:22 | 显示全部楼层
把程序发上来,我估计是你.c和.h文件中都定义了

使用特权

评论回复
天风立马|  楼主 | 2014-4-1 18:54 | 显示全部楼层
.c里没有声明任何变量的。我就是写个框架,结果编译就这么提示了。(结构体是在.h里定义的,然后被两个.c #include。关键是新唐给的例子没问题,而我的有问题,更关键的是我在.H里用了 #ifndef #define …… #endif)

使用特权

评论回复
天风立马|  楼主 | 2014-4-1 18:54 | 显示全部楼层
niuyaliang 发表于 2014-4-1 08:22
把程序发上来,我估计是你.c和.h文件中都定义了

.c里没有声明任何变量的。我就是写个框架,结果编译就这么提示了。(结构体是在.h里定义的,然后被两个.c #include。关键是新唐给的例子没问题,而我的有问题,更关键的是我在.H里用了 #ifndef #define …… #endif)

使用特权

评论回复
a_ziliu| | 2014-4-2 09:36 | 显示全部楼层
重覆命名定義,你的定義可以改成別的名字。
新唐的GPIO_CTRL 應該有別的函式有用到,所以不要動到它

使用特权

评论回复
Ketose| | 2014-4-2 09:41 | 显示全部楼层
#ifndef #define …… #endif 要从头包到尾。#include也要包在里面。

使用特权

评论回复
niuyaliang| | 2014-4-2 17:13 | 显示全部楼层
Ketose 发表于 2014-4-2 09:41
#ifndef #define …… #endif 要从头包到尾。#include也要包在里面。

在.c文件中也可以应用的,没那么要求严格

使用特权

评论回复
niuyaliang| | 2014-4-2 17:14 | 显示全部楼层
天风立马 发表于 2014-4-1 18:54
.c里没有声明任何变量的。我就是写个框架,结果编译就这么提示了。(结构体是在.h里定义的,然后被两个.c # ...

上传你的最小框架看看

使用特权

评论回复
天风立马|  楼主 | 2014-4-4 17:28 | 显示全部楼层
niuyaliang 发表于 2014-4-2 17:14
上传你的最小框架看看

20140404172649.png

使用特权

评论回复
从小木丁丁| | 2014-4-5 12:18 | 显示全部楼层
Ketose 发表于 2014-4-2 09:41
#ifndef #define …… #endif 要从头包到尾。#include也要包在里面。

这个见过?

使用特权

评论回复
从小木丁丁| | 2014-4-5 15:23 | 显示全部楼层
天风立马 发表于 2014-4-4 17:28

图片不是很清楚啊

使用特权

评论回复
天风立马|  楼主 | 2014-4-5 17:27 | 显示全部楼层
从小木丁丁 发表于 2014-4-5 15:23
图片不是很清楚啊

1920*1080的分辨率屏幕截的图,不清楚我就没办法了。

使用特权

评论回复
niuyaliang| | 2014-4-5 20:38 | 显示全部楼层
天风立马 发表于 2014-4-5 17:27
1920*1080的分辨率屏幕截的图,不清楚我就没办法了。

汗,我是说你出错的那段代码了,你不是测试了下么。。。在我的机子上试试

使用特权

评论回复
niuyaliang| | 2014-4-5 20:39 | 显示全部楼层
带 #ifndef #define …… #endif)的这段代码

使用特权

评论回复
从小木丁丁| | 2014-4-6 20:56 | 显示全部楼层
天风立马 发表于 2014-4-5 17:27
1920*1080的分辨率屏幕截的图,不清楚我就没办法了。

:lol我的渣网络

使用特权

评论回复
从小木丁丁| | 2014-4-6 20:56 | 显示全部楼层
niuyaliang 发表于 2014-4-5 20:39
带 #ifndef #define …… #endif)的这段代码

这个是自定义嘛

使用特权

评论回复
天风立马|  楼主 | 2018-12-2 13:48 | 显示全部楼层
niuyaliang 发表于 2014-4-5 20:38
汗,我是说你出错的那段代码了,你不是测试了下么。。。在我的机子上试试 ...

翻看以前的帖子, 谢谢你当初耐心的解答, 虽然不知道为什么, 没有把问题的最终结果发上来.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

314

帖子

2

粉丝