主題:EM9000協(xié)處理器的使用問題 共有37978人關注過本帖 |
---|
EM9000用戶 |
1樓 |
EM9000協(xié)處理器的使用問題 Post By:2011-10-2 20:10:00 [只看該作者]
我按照《EM9000協(xié)處理器浮點運算函數(shù).pdf》文檔中的使用方法先在項目鏈接器中添加了em9000_crunch.lib的依賴項,然后在程序中調(diào)用crunch.h中提供的函數(shù),可是編譯老通不過。之后我又在Win32智能設備控制臺應用程序中編寫簡單的測試程序驗證,確實是無法編譯通過。這是怎么回事?請解釋。
編寫的測試程序如下: #include "crunch.h" #include  using namespace std; int _tmain(int argc,_TCHAR* argv[]) { float a,b,c; a=5.123; b=3.156; c=em_add(a,b); cout< cout< cout< return 0; } 編輯結(jié)果: 正在編譯... em_test.cpp 正在鏈接... em_test.obj : error LNK2019: 無法解析的外部符號 "float __cdecl em_mult(float,float)" (?em_mult@@YAMMM@Z),該符號在函數(shù) wmain 中被引用 em_test.obj : error LNK2019: 無法解析的外部符號 "float __cdecl em_sub(float,float)" (?em_sub@@YAMMM@Z),該符號在函數(shù) wmain 中被引用 em_test.obj : error LNK2019: 無法解析的外部符號 "float __cdecl em_add(float,float)" (?em_add@@YAMMM@Z),該符號在函數(shù) wmain 中被引用 EM9000 (ARMV4I)\Debug/em_test.exe : fatal error LNK1120: 3 個無法解析的外部命令 另外,看crunch.h提供的浮點函數(shù)太少,只有簡單的加、減、乘運算,沒有除法,pdf文檔中提到的如FIR濾波之類的功能沒有看到,我需要用EM9000做一些信號處理的算法,F(xiàn)FT、FIR濾波等是經(jīng)常要用到的,如果貴公司已經(jīng)開發(fā)出一些功能,希望將算法庫發(fā)至我的郵箱,謝謝。 |
|
單帖管理 | 引用 | 回復 |
EM9000用戶 |
2樓 |
Post By:2011-10-2 22:14:00 [只看該作者]
程序發(fā)上去亂了。
再發(fā)一遍 #include "crunch.h" #include  using namespace std; int _tmain(int argc,_TCHAR* argv[]) { float a,b,c; a=5.123; b=3.156; c=em_add(a,b); cout< cout< cout< return 0; } |
|
單帖管理 | 引用 | 回復 |
EM9000用戶 |
3樓 |
Post By:2011-10-2 22:14:00 [只看該作者]
還是亂
|
|
單帖管理 | 引用 | 回復 |
zxw |
4樓 |
Post By:2011-10-8 9:25:00 [只看該作者]
你注意一下你的ARM平臺是否選擇正確。另外從提示信息來看,你可能沒有加庫文件到你的工程中。你找找相關的設置。
|
|
單帖管理 | 引用 | 回復 |
EM9000用戶 |
5樓 |
Post By:2011-10-8 10:27:00 [只看該作者]
平臺選的是EM9000(ARMV4I),前面就說了已經(jīng)添加了光盤提供的em9000_crunch.lib,不知道還有那些庫要添加?
|
|
單帖管理 | 引用 | 回復 |
zxw |
6樓 |
Post By:2011-10-8 14:24:00 [只看該作者]
你用另外一個例程試試:光盤下的crunchdemo。
對于你所需要的那些算法,我們沒有相關的代碼,真對不起。 |
|
單帖管理 | 引用 | 回復 |
EM9000用戶 |
7樓 |
Post By:2011-10-8 16:40:00 [只看該作者]
同樣是下面這樣一段主程序,當文件后綴是c時,可以編譯通過,當后綴是cpp時,就會出現(xiàn)上面的錯誤。光盤給出的demo也都是c文件,是不是只能在c中才可以使用協(xié)處理器啊?可是我編程都是在MFC中,難道就用不了協(xié)處理器了?
#include  #include  #include "crunch.h" int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { float a,b,c; a=5.123; b=3.156; c=em_add(a,b); printf("%f\n",c); c=em_sub(a,b); printf("%f\n",c); c=em_mult(a,b); printf("%f\n",c); while(1); return 0; } |
|
單帖管理 | 引用 | 回復 |
EM9000用戶 |
8樓 |
Post By:2011-10-8 16:43:00 [只看該作者]
上面這段程序前兩個沒顯示出來的頭文件是stdio.h和windows.h
|
|
單帖管理 | 引用 | 回復 |
x10 |
9樓 |
Post By:2011-10-9 8:50:00 [只看該作者]
現(xiàn)在我們已經(jīng)提供了包括浮點計算和超越函數(shù)計算的浮點庫,所以不再用em_xxx()這些函數(shù)了,對浮點計算,直接寫算術表達式即可。光盤上的crunchdemo就是這樣的一個例子。
|
|
單帖管理 | 引用 | 回復 |