2009-12-29 50 views
1

我在組件的功能sincos_Q15_asm(),連接器問題在文件sincos_p5sh.asm與指令如下:TI C2800的DSP:故障排除C++和彙編代碼

.sect ".text" 
.global _sincos_Q15_asm 
.sym _sincos_Q15_asm,_sincos_Q15_asm, 36, 2, 0 
.func 1 

功能當我測試它本身工作正常(裝配只),但是當我嘗試鏈接到它,我得到一個鏈接錯誤:

undefined     first referenced 
symbol       in file 
---------     ---------------- 
sincos_Q15_asm(int, int *) build\pwm3phase.obj 

error: unresolved symbols remain 

這是非常令人費解給我,因爲我,包括我的鏈接器命令組裝文件build\blocks\sincos_p5sh.obj,和我已經使用了絕對的列表器abs2000在這個obj文件上,它說有一個符號_sincos_Q15_asm。 (下劃線前綴是如何工作的組裝)

任何建議我應該排除下一個問題?

回答

1

D'oh!我想通了 - 我正在使用C++,並忘記爲我的功能包括extern "C"聲明:

extern "C" { 
extern void sincos_Q15_asm(int16_t theta, int16_t* cs); 
}