2013-02-08 75 views
0

我試圖在Tux Racer源代碼中運行和調試C代碼。大部分代碼都是用C編寫的,所以我將Android項目轉換爲C項目(添加C/C++自然)。我使用Cygwin工具鏈。 現在我有問題,因爲Eclipse是找到了一些假想中的錯誤代碼,如:#error命令調用錯誤

#if defined(HAVE_SDL) 
# include "SDL.h" 
#elif defined(HAVE_GLUT) 
# include "GL/glut.h" 
#elif defined(__APPLE__) 

#else 

# error "Neither SDL nor GLUT are present." 

#endif 

,在那裏他看到#error "error text"爲錯誤。但不是無處不在!只有在這個地方的代碼。如果我把這條線轉移到別的地方,那很好。但是,無論如何,這應該保持在原來的位置。

之前,我以前只是從Cygwin控制檯重建C代碼,然後從Eclipse Android應用程序運行,並且它工作正常。

+2

這個'HAVE_SDL'定義在哪裏? –

+0

不通。 SDL沒有定義。 Souux for Tux在這裏[Tux在GitHub上](https://github.com/drodin/TuxRider) – miller

+0

您的項目是在Eclipse中構建的嗎?我認爲你必須檢查在某些文件中是否有宏HAVE_SDL,HAVE_GLUT或__APPLE__,或者在某些文件中沒有。它看起來像那樣。我建議你查看一下'Project Settings - > C/C++ Build - > Settings'和'C/C++ General - > Paths and Symbols' – Raj

回答

0

Eclipse的問題在於,他設想了很多東西。他沒有使用NDK和現有的make文件,而是開始使用他自己的設置。 爲了使建立正確,我需要更改一些設置:

  1. 在項目 - >屬性 - > C/C++建設 - >生成器設置選項卡:使用 默認的編譯命令應該是選中;建立命令應該是 bach <path to NDK>ndk-build。此外,自動生成makefile也應取消選中 。然後,應該鍵入一個適當的生成目錄。該 全部用於生成器設置選項卡。
  2. 然後,應該檢查項目的Build'Debug'
  3. CTRL + B,它的工作原理!

差不多!它仍然有一些錯誤問題,剩下的就是弄清楚如何連接它,在Eclipse上運行它並在Android上進行調試。