打印
[DSP编程]

头文件怎么添加啊

[复制链接]
3737|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
LETCHGO1|  楼主 | 2014-12-6 15:15 | 只看该作者
有好心人帮忙解答下吗,这个基础问题困惑我好多天了啊。。。。。。

使用特权

评论回复
板凳
aresc| | 2014-12-6 16:48 | 只看该作者
是不是你有跨文件的变量引用?比如你在A.c文件里定义了int  var1;然后在B.c文件里使用var1,要使用extern关键字先声明一下。

使用特权

评论回复
地板
LETCHGO1|  楼主 | 2014-12-6 17:49 | 只看该作者
没有啊,就是自己建立一个data.h里面放一些定义好的数据
然后在其他c文件中用,一用就出现这样的问题
undefined first referenced                                                                        
  symbol       in file                                                                              
--------- ----------------                                                                        
_Sys      C:/Users/cold_mirace/Desktop/SCI com tst/led+sci.examaple/BUTTON/NixieTube/Debug/main.obj

error: unresolved symbols remain
error: errors encountered during linking; "C:/Users/cold_mirace/Desktop/SCI com
   tst/led+sci.examaple/BUTTON/NixieTube/Debug/foc.out" not built

>> Compilation failure
gmake: *** [C:/Users/cold_mirace/Desktop/SCI com tst/led+sci.examaple/BUTTON/NixieTube/Debug/foc.out] Error 1
gmake: Target `all' not remade because of errors.

使用特权

评论回复
5
LETCHGO1|  楼主 | 2014-12-6 17:54 | 只看该作者
Sys.DCom.Uk=0;这是我引用的变量,变量全部在data.h中定义了,定义方法跟其他自带的头文件一样的写法,struct+union

使用特权

评论回复
6
zhangmangui| | 2014-12-6 21:16 | 只看该作者
LETCHGO1 发表于 2014-12-6 17:54
Sys.DCom.Uk=0;这是我引用的变量,变量全部在data.h中定义了,定义方法跟其他自带的头文件一样的写法,stru ...

还是需要  extern一下的    你看看TI的引用方式吧   也就是你看看TI的头文件里面的
结构体和联合体  

使用特权

评论回复
7
原野之狼| | 2014-12-6 22:28 | 只看该作者
文件树列出来看看

使用特权

评论回复
8
LETCHGO1|  楼主 | 2014-12-8 09:13 | 只看该作者
zhangmangui 发表于 2014-12-6 21:16
还是需要  extern一下的    你看看TI的引用方式吧   也就是你看看TI的头文件里面的
结构体和联合体   ...

因为我就把以前在2812片子上的data.h复制过来了,跟那个标准的联合体和结构体几乎一样。
还有就是我试着简单点只在头文件里定义一个unchar变量,然后c文件中include,还是说没有定义,这样的问题解决不了很烦人,哎

使用特权

评论回复
9
LETCHGO1|  楼主 | 2014-12-8 09:43 | 只看该作者
原野之狼 发表于 2014-12-6 22:28
文件树列出来看看

我是这样的一个过程,就是新建一个data.h,然后再include中包含进去,哪怕定义一个最简单的变量Uint sql
也声明了。
然后在.c文件中sql=0;都编译不通过,一开始就#include data.h了。
搞得人无语。

使用特权

评论回复
10
wang168506| | 2014-12-8 16:25 | 只看该作者
这个不是添加吧 ,是路径下自动加载的  你写了没用  你得看默认路径  把自定义添加到路径下 或者添加路径才行

使用特权

评论回复
11
LETCHGO1|  楼主 | 2014-12-8 16:58 | 只看该作者
wang168506 发表于 2014-12-8 16:25
这个不是添加吧 ,是路径下自动加载的  你写了没用  你得看默认路径  把自定义添加到路径下 或者添加路径才 ...

我知道你说的,就是这个data.h要放到路劲下,我是放到其他h文件一个路径下的呀。。。

使用特权

评论回复
12
zhangmangui| | 2014-12-8 22:12 | 只看该作者
LETCHGO1 发表于 2014-12-8 09:43
我是这样的一个过程,就是新建一个data.h,然后再include中包含进去,哪怕定义一个最简单的变量Uint sql
...

举个例子  比如你在.h中定义了一个unsigned int x = 0;
然后要在.c中引用   首先把头文件包含进来
近下来在.c中extern unsigned int x 一下   再使用
应该就没问题了   
不会是你用的Uint没有声明报的错吧

使用特权

评论回复
13
LETCHGO1|  楼主 | 2014-12-9 11:03 | 只看该作者
zhangmangui 发表于 2014-12-8 22:12
举个例子  比如你在.h中定义了一个unsigned int x = 0;
然后要在.c中引用   首先把头文件包含进来
近下 ...

谢谢了,实在是无语了,各种方法都试了,你说的也试了,都不行,这尼玛这么继续啊、、、、、

使用特权

评论回复
14
zhangmangui| | 2014-12-9 23:12 | 只看该作者
LETCHGO1 发表于 2014-12-9 11:03
谢谢了,实在是无语了,各种方法都试了,你说的也试了,都不行,这尼玛这么继续啊、、、、、 ...

工程打包传上来   让大伙帮你看看

使用特权

评论回复
15
LETCHGO1|  楼主 | 2014-12-10 09:17 | 只看该作者
zhangmangui 发表于 2014-12-9 23:12
工程打包传上来   让大伙帮你看看

昨天弄好了嘿嘿,谢谢啊。。不知道为什么结构体在c文件中还要再定义一次,就是在c文件中再写一次
volitale struct systimer sys,就可以随便引用结构体里的东西,希望对遇到这样问题的同学有帮助

使用特权

评论回复
16
zhangmangui| | 2014-12-10 22:20 | 只看该作者
LETCHGO1 发表于 2014-12-10 09:17
昨天弄好了嘿嘿,谢谢啊。。不知道为什么结构体在c文件中还要再定义一次,就是在c文件中再写一次
volital ...

谢谢分享    建议你还是借鉴一下TI提供的头文件
他们做的比较好     

使用特权

评论回复
17
jing43| | 2014-12-12 14:17 | 只看该作者
说了半天就是一个结构体,要在多个 C 文件中使用的问题。
你首先要在每个结构体中定一下这个结构体,然后再用 extern struct  结构体名 具体的结构体,这样这个具体的结构体才能使用。

使用特权

评论回复
18
LETCHGO1|  楼主 | 2014-12-13 10:37 | 只看该作者
jing43 发表于 2014-12-12 14:17
说了半天就是一个结构体,要在多个 C 文件中使用的问题。
你首先要在每个结构体中定一下这个结构体,然后再 ...

谢谢啊。。。菜鸟,嘿嘿

使用特权

评论回复
19
wkwangke123| | 2015-8-31 15:33 | 只看该作者
我按照TI的定义方法定义了一个结构体,但是为什么,我无法往其中的变量里赋值。里面的值一直为0.

使用特权

评论回复
20
gejigeji521| | 2015-9-30 22:38 | 只看该作者
复制进去最简单

使用特权

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

本版积分规则

10

主题

60

帖子

0

粉丝