This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6678simulator环境下coff工程编译缺少rts6600_coff.lib



您好,我装的是ccsv5.2,在6678的simulator环境下编译。在工程中有一个.obj文件是COFF格式的,因为这个.obj文件没有源码,不能再生成elf格式的文件,所以当工程的属性设置为elf的时候,编译会报错,但是换成coff编译,系统只能找到rts6600_elf.lib文件。安装的时候就只有这个版本的lib,没有rts6600_coff.lib,我在网上搜索的时候发现是应该有rts6600_coff.lib文件的,但是ccsv5的路径下确实没有找到这个文件,不知道是什么原因导致没有rts6600_coff.lib,但是目前工程编译需要这个文件。您能给一个解决方案吗?感谢!

  • 目前只是提供elf格式的rts lib。

    工程选择为coff格式,在file search path中使用默认的libc.a,编译的时候会自动编译生成coff格式的lib,或者参考ccsv5\tools\compiler\c6000_7.4.2\doc\SPRU187 section8.5关于如何编译lib。

  • 感谢您的答复,我按照您说的两种方法都试了一下,都没能成功生成coff格式的lib,请您再指导一下。

    方法一:自动编译生成方式。采用这种方式的时候,编译的过程中会报错,报错基本上是“could not open source file 'xxx.h'",也就是有些头文件总是找不全,而且每次build报的错误还不固定,有时候找不到这几个头文件,下次就变成找不到另外几个头文件了,所以不知道怎么解决这个错误?

    方法二:手动编译lib。因为之前没用过gmake方式,所以对”Makefile for additonal information on how to customize a library build by modifying the LIBLIST and/or the OPT_XXX“不理解,因为找遍了整个工程也没找到LIBLIST和OPT_XXX是指的什么,也不知道如何改。所以只好把rts6600_coff.lib特定几个值直接放在Makefile文件的最前面,然后再cmd中敲入命令”gmake rts6600.lib“,但是提示"'['不是内部或外部命令,也不是可运行的程序",”gmake: xxx No rule to make target 'rts6600.lib'. stop“。

    还请您再针对出现的问题再具体指导一下,或者如果“rts6600_coff.lib”能通用的话,您能提供一个这样的lib文件给我吗,谢谢!

  • 一个最简单的方法是建立一个最简单的HelloWorld工程,设置成COFF输出文件格式,应当会自动生成COFF RTS库。如果还有问题,可能需要检查编译器安装的问题。

  • 感谢您的提示,可能在我的机器上perl没有装好,所以老是编译出错,换了台机器安装就成功生成了。感谢工程师的支持!