2011-09-08 43 views
2

我已經從3GPP網站下載了AMR源代碼。
當我試圖編譯它與任何修改,我得到錯誤
無法確定架構;使typedefs.h適合您的平臺我得到的AMR源代碼的錯誤

D:\AMR_3Gpp\26073-800\c-code> make 
rm -f *.o core 
rm -f *.a encoder decoder 
gcc -c -Wall -pedantic-errors -I. -O3 -DWMOPS=0 -DVAD1 agc.c 
In file included from typedef.h:50, 
       from agc.h:24, 
       from agc.c:20: 
typedefs.h:179:2: error: #error "can't determine architecture; adapt typedefs.h to your platform" 
In file included from agc.c:31: 
basic_op.h:33: warning: conflicting types for built-in function `round' 
make: *** [agc.o] Error 1 
D:\AMR_3Gpp\26073-800\c-code> 

我在Windows機器上使用了cygwin。所以如果有人知道或面臨這個錯誤「無法確定架構;請將typedefs.h修改爲您的平臺」。請幫我解決它。

感謝&問候,
SSuman185


/* 
********* Check current platform 
*/ 
#if defined(__MSDOS__) 
#define PC 
#define PLATFORM "PC" 
#define LSBFIRST 
#elif defined(__osf__) 
#define OSF 
#define PLATFORM "OSF" 
#define LSBFIRST 
#elif defined(__sun__) || defined(__sun) 
#define SUN 
#define PLATFORM "SUN" 
#undef LSBFIRST 
#elif defined(linux) && defined(i386) 
#define PC 
#define PLATFORM "PC" 
#define LSBFIRST 
#else 
#error "can't determine architecture; adapt typedefs.h to your platform" 
#endif 
+0

尋找此文字typedefs.h和在這裏發佈周邊的宏 – James

+0

嗨,詹姆斯,因爲評論中的文本無法格式化太多,所以我粘貼在上面。 – Suman

回答

1

它看起來像這樣的項目從來沒有移植到Cygwin的GCC環境。

要麼

  1. 從如何(如果)他們支持任何Windows C編譯器和使用它的項目找出。據他們的網站,它看起來像他們所支持的MinGW - http://www.mingw.org/
  2. 端口Cygwin的GCC自己 - 開始:「適應typedefs.h您的平臺」
+0

嗨樓佛朗哥,我是一個新的linux到linux。請你指導我如何使用一些鏈接進行移植。所以我可以開始。 – Suman

+0

你最好是用MINGW來構建,因爲可能會有更多的依賴關係,但如果你想嘗試(1)找出GCC定義的標識自身http://gcc.gnu的內容。 org/onlinedocs/cpp/Common-Predefined-Macros.html(2)添加一個'#elif defined(__ GNUC __)'(3)定義其他平臺所做的宏(從MSDOS複製到開始) - (4)測試並找出是否需要做更多 –

相關問題