最近在用OpenAT做开发,基于Q24Plus,起初做的不过是数据透传,相对来说非常简单,文件也不大,结构也不复杂,可随着往后项目的变化,功能增多,控制增多,在一个文件中实现全部功能显然不现实,这就需要将不同功能放到不同的文件中.起初以为只需要相一般的C环境,添加一个*.c *.h,然后include 进来就行,可实现起来,远非如此,根本不能编译,想想是不是别的原因呢?我又将外部文件的函数和变量extern ,还是无法通过,暴晕中.
想来想去,发现每次启动 .SCS 时,其基本库中的所有 .h文件都会被引用至项目中,所以干脆一不做,二不休,我就把需要的功能文件放在了基本库中. C:/OpenAT/OS/3.14.03/ADL/itf
编译....成功!!
后来仔细想想,这样终究不是办法,很古老的开发环境都支持多文件,不可能到了21世纪,居然不支持多文件了,回头再仔细阅读SDK,再看Sample,终于发现在启动.SCS 时有一个选项,可以设置.
如下图:
注意到: -inc E:/Windboy/WaveCom/24PlusGPS/inc 了吗?
这就是我要包函的文件目录所在.
点OK.......
终于在2003的项目管理器中显示了所需要的文件
执行 Make .......
编译成功....