首页 > 代码库 > CCS4.2编译出错提示与修改方法
CCS4.2编译出错提示与修改方法
可能需要的其他步骤
有时在迁移过程中向导并不会冒险去改动一些具体的内容,这时可能就需要您多加留意并解决这类问题。在大多数情况下,需要执行的更改位于内部的源文件或链接器命令文件中;由于向导在迁移过程中采用了保守的做法,因此不会直接修改这些类型的文件。
?
1. 例如,将会显示如下的消息框,<migration.log> 文件位于项目目录下。强烈建议打开此日志文件检查是否存在任何问题。
图 6:迁移警告
?
2. CCSv3.3 中有些项目拥有自动导入的隐式包含目录,会引发生成错误。如果遇到这种情况,请务必转到菜单"Project ->Properties(项目 -> 属性)"移除这些路径,并在"Compiler -> Include Options(编译器 -> 包含选项)"或"Linker -> File Search Path(链接器 -> 文件搜索路径)"下检查包含目录。
在下面的例子中,编译器的包含目录拥有两个版本的芯片支持库 (CSL)。
3. "No rule to make target(不存在创建目标的规则)"错误
?
某些导入项目可能会发生以下生成错误:
C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake -k all
C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: *** No rule to make target `myFile.obj‘, needed by `myApp.out‘.
...
在这种情况下,右键单击出错的项目,然后从菜单中选择"Build Properties(生成属性)"。在"C2000 Compiler -> Directory Specifier:(C2000 编译器-> 目录指定器:)"下,检查"Object file directory (default is .)(--obj_directory, -fr)(对象文件目录(默认值为 .)(--obj_directory, -fr))"的内容。如果该目录与"Temporary file directory(临时文件目录)"或"Assembly file directory(程序集文件目录)"的内容相同(即"<path>/Debug"),则会出现错误。
可通过以下方式解决此问题:
1.将此路径更改为任何其他位置。
2. 删除框中的内容。
?
4.先将问题解决方法写在下面。
出错的原因是找不到头文件,经过仔细查阅资料找到了自己的头文件的加载方法,比如我的头文件在:C:\myWorkspace\test1\include路径下那么就需要自己加载一下这个头文件的目录
具体方法:
右击项目管理器的项目名称->Properties打开下面对话框:
在Include Options下面添加自己的头文件路径如上图所示。
保存后,重新编译,无误。
?
还有如下问题:
解决方法:在右击项目名称-----Build Option-------C6000 Linker-------File Search Path-------添加库文件:例如csl6416.lib
最后一个问题:
解决方法:
在Predefined Symbols 中添加芯片型号,具体可以在fined in files中查找"CHIP_"查询对应型号。注意CCS4.2中只有search,不能全面查找指定路径文件夹里面的文件,只能查找当前工程中添加的文件。
问题N:未添加所需要的头文件
解决方法:
(1)先添加指定头文件string.h,再编译该错误消失。
注意:如果多个地方添加同一个头文件也会出现"identifier "EMIF_GBLCTL_EKEN_ENABLE"类似的错误
(2)索引字符EMIF_GBLCTL_EKEN_ENABLE
芯片定义估计有问题,于是在predefined Symbols中修改芯片为CHIP_6711C,再次编译问题没有了