sohappyoh 发表于 2014-7-26 08:33:14

求教,IAR 把源文件放在多个文件夹的问题!

我之前写程序都是把所有的模块放在工程下面的src目录,现在想把不同的模块单独放在一个文件夹里面遇到了问题,描述一下我是怎么做的:
1.在src目录下面新建一个目录:lcd
2.把关于lcd驱动的程序放到里面
3.在IAR Options -> C/C++Compiler -> Preprocessor中添加如下路径:$PROJ_DIR$\src\lcd
4.把头文件 .c文件 ADD到项目里面,并在调用的C文件里面包含.h文件
可是编译出现了错误:说某某变量重复定义,可是没有重复定义,把该变量定义在.c文件就解决了
难道非要把全局变量定义到.C中?

javenreal 发表于 2014-7-26 08:36:15

还是定义在c,头文件加上extern就可以了。

dalarang 发表于 2014-7-26 08:41:10

必须定义在C。
因为头文件经常被多次引用,如果变量定义在头文件中,等于每引用一次头文件就定义一次变量,这不就是重复定义了么。

zhengxg1990 发表于 2014-7-26 09:55:58

在.h文件里不要有变量的赋值!
页: [1]
查看完整版本: 求教,IAR 把源文件放在多个文件夹的问题!