当我们编译整个工程后,发现在我们的.c中会发现如下的情形:

  1. Go to macro declaration of **,没有任何的反应.
  2. Go to typedef declaration of **,没有任何的反应.
  3. Go to variable definition of **,对应的.h时也没有任何的反应.
  4. Go to function declaration of **(),依旧没有任何的反应.

是不是很奇怪,很郁闷? 甚至怀疑我们下载的ADS破解版有问题呢? 其实这种现象在ADS1.1是没有这种表现的.总是感觉ADS1.1的功能还是比较完善的,对一些选项的设置也是比较细致的.但到ADS2.2时简化了一些选项,所以一直比较习惯用ADS1.1. 问题就出现了,我的Co.同仁都在用ADS2.2,我总不能标新立异吧 哈呵.所以出现问题时,及时解决问题才是上上策.

经过反复的试验,发现原因出现在我的每个.c都无法untouch相关的.h文件,起初也怀疑是Soure Trees或Access Paths没有配置对,但是没有发现任何的问题,那么就不是这里的问题了.那问题出在哪里了呢?

因为ADS2.2是外国人开发的,所以对中文支持总是会出现或多或少的一些潜在的问题,可能对于他们老外不使用中文也就在开发过程中没有注意到这个问题.这种现象出现的原因是我在建立工程时放在了中文汉字的文件夹下(也就是说我的文件夹是中文),所以当我们编译连接后出现了找不到.h头文件了.才导致这一系列的问题出现.那你就知道了吧,只要在我们建立工程时文件夹和工程名都是用English就一切OK啦.

需要注意的时,当我们从别人那里结果的整个工程后,一开始放在了自己的中文文件夹下时,再解决这个问题需要把中文文件夹该成英文之外,还需要把当前工程中的***_Data,Debug,Release文件夹全部删除后重新Make.否则会出现两个相同名字的.h,当然一个是有用的,另一个就是没用的啦,看着多不爽呀,那就按我上面的方法办就可以了.

祝你好运.


来源:http://www.suseng.cn/Blog/Eastar/Article/148.aspx