近期项目中,有个同事和我出现过类似的问题,提示警告:找不到系统路径下的头文件。
WARNING: Can't find following headers in System Include Path
如果不顾这个警告,运行程序中可能会出现各种类型的错误。比如,我的程序中,打开“选项”下的菜单时,提示EIKCOCTL 8的错误。
通过查找SDK,EIKCOCTL 8的错误如下:No such menu item(没有此菜单项)。
刚开始觉得很奇怪,以前运行时是正常的,为什么报了这种很少见的错误。而且,系统包含(System Include)下的文件都是存在的,却提示找不到。
最终,问题可能出在应用程序mmp文件下的SYSTEMINCLUDE属性定义上。和文件夹路径一对照,果真出在了这个地方:大小写不一样。
mmp文件: SYSTEMINCLUDE /epoc32/include
计算机上的文件夹: Epoc32/include
改动后的mmp文件如下: SYSTEMINCLUDE /Epoc32/include。
再次运行程序,一切正常! ^ ! ^
其他类型的错误类似,只需要改动mmp文件下的SYSTEMINCLUDE 与计算机系统的名称一致就OK了。