按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
user5304372:同问,最近也遇到了这个问题,完全是按照controlSUITE_C28x_FPU_FastRTS.pdf这个文档上的配置,link order什么都设置好了,还是会出现这样的问题。
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
Seven Han:
回复 user5304372:
我用ccs7.0测试TI的例程,并没有出现您说的这个问题,方便把您的工程传上来吗?
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
guohua zhu:
回复 Seven Han:
按照官方库的例程“Example_2833xFPU_hardware”配置了,一样出错。请问配置上需要注意啥嘛?能不能给一个可以参考的文档?
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
guohua zhu:
回复 Seven Han:
错误提示如下:
error #10056: symbol "_sqrt"redefine: first define in "../rts2800_fpu32_fast_supplement.lib<sqrt_f32.obj>";
redefine in "../lib/rts2800_fpu32.lib<e_sqrtf.obj>"
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
Seven Han:
回复 guohua zhu:
您用的哪个版本的编译器?
我的是v16.9.1.LTS,您可以试试,我怀疑是编译器的原因。
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
guohua zhu:
回复 Seven Han:
我目前用的是TI v16.9.6.LTS版本的编译器,也就是最新版CCS7的编译器,但是根据浮点计算库的源文件重新编译生成rts2800_fpu32_fast_supplement.lib,仍然无法调用
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
guohua zhu:
回复 Seven Han:
从上述错误提示看,编译器提示函数sqrt重复定义了,也就是rts2800_fpu32.lib和rts2800_fpu32_fast_supplement.lib都有函数sqrt的定义,但是为啥rts2800_fpu32.lib的链接循序放在靠前就没事,而rts2800_fpu32_fast_supplement.lib放在靠前就说函数重复定义。如果说是编译器问题,那么如何在新的编译器上使用了?
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
Seven Han:
回复 guohua zhu:
下面帖子给出的方法是更改 rts2800_ fpu32_fast_supplement.lib中sqrt 函数的名字,
e2e.ti.com/…/622227
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
feixiang zhao:
回复 guohua zhu:
请问问题解决了吗?
按照官方手册在C200 Link->File Search Path添加了两个库的路径和库名称,并使能“Seaarch libraries in priority order“选项,然后在Build->Link Oder中将rts2800_fpu32_fast_supplement.lib的优先级提前到rts2800_fpu32.lib之前。然后编译后出错,提示”sqrt“函数在两个库中重复定义了,请问有可能是什么问题导致的了?
feixiang zhao:
回复 user5304372:
请问问题解决了吗?