TI中文支持网
TI专业的中文技术问题搜集分享网站

c6748Starterware库报错

我自己写一个EDMA的工程,out的格式是COFF;由于Starterware里面默认的是ELF格式编译的库文件,所以我自己把库文件的输出格式改为COFF格式重新编译了一个库文件,但是在我自己工程里面引用时,编译报错。

undefined first referenced symbol in file ——— —————- _EDMAVersionGet ../lib/drivers.lib<edma.obj>

error #10234-D: unresolved symbols remain

请问下有什么解决办法没?

Shine:

请问你这个库加到工程里吗?请看下面的错误解释。http://processors.wiki.ti.com/index.php/Compiler/diagnostic_messages/10234

 

Tony Tang:

#1. 为什么不也用Elf格式呢?这样就省了麻烦了。

#2. 你这个问题是因为这个函数没有找到:_EDMAVersionGet,这个函数是在drivers.lib里调用到了,而不是在这个库里。把EDMAVersionGet所在的库按coff重编一下。

user3823702:

回复 Tony Tang:

Tony Tang 你好!我们是在上位机里面做了解析OUT的程序,以前一直用的COFF格式的,为了不改解析程序就没用ELF格式的;还有第二点,我进入driver的工程里面,点开properties设置里面没有看到有链接别的库文件,请问下这个EDMAVersionGet具体是在哪个库里面?

Tony Tang:

回复 user3823702:

在platform lib里,尽管是个没什么实现意义的函数。

user3823702:

回复 Shine:

库文件已经链接进去了,然后头文件我也检查了都加进去了。

Tony Tang:

回复 user3823702:

 这个platform按coff重编了没有?

user3823702:

回复 Tony Tang:

你好!我找到了这个platform按COFF格式编译了一遍,然后再把driver又按COFF格式编译了一遍,再把编译完成的LIB文件链接到我自己的工程中,还是会出现这个错误。是不是我需要在driver工程里面设置来引用PLATFORM,才能消除这个错误?

Tony Tang:

回复 user3823702:

在edma.h里申明的。

user3823702:

回复 Tony Tang:

找到了声明的,但是还是没有用,我直接把EDMA.c里面的那个函数屏蔽掉了,再编译,然后就可以用了。

赞(0)
未经允许不得转载:TI中文支持网 » c6748Starterware库报错
分享到: 更多 (0)