2013-08-26 32 views
1

我移植到SDL2和Android平臺上的C++遊戲,使用SDL 1.2。一切都很順利,到目前爲止,除了一兩件事:當我嘗試訪問SDL_Window領域,編譯器告訴我爲什麼SDL_Window是不完整的類型?

error: invalid use of incomplete type 'SDL_Window {aka struct SDL_Window}' 

我覺得我的SDL的安裝可能出現故障。我從使用folloing命令上libsdl.org找到源編譯SDL 2.0.0:

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-18 

然後,我抄了新建成libSDL2.so$ANDROID_TOOLCHAIN/sysroot/usr/lib並在include/目錄$ANDROID_TOOLCHAIN/sysroot/usr/include/SDL的文件。這些文件被提供給CMake並由遊戲代碼引用。我設法轉換每個SDL調用,現在我被這個SDL_Window問題困住了。

我的確在SDL的源代碼快速搜索,發現SDL.h包括SDL_video.h其中包含一個typedef SDL_Windowstruct SDL_Window。然後我搜索了這個結構,除了在原始的源文件中找不到任何東西,在一個名爲src/video/SDL_sysvideo.h的文件中。由於它不是API文件,我懷疑我必須將其包含在我的代碼中。

那麼,如何找到一個SDL2的SDL_Window定義,爲Android(如果這是相關的)?

回答

5

看來,問題是缺乏SDL 2 API的知識。讓我們記住一個不訪問的struct SDL_Window領域:有函數來獲取大小和窗口的標誌,如SDL_GetWindowFlagsSDL_GetWindowSize

所以,問題是絕對不能與安裝了SDL的或到Android版本。很抱歉浪費時間,網絡的人。

2

我期望您只能在指針中處理SDL_Window對象,而不是實際上將完整的SDL_Window對象放在堆棧上。

+0

我不把我的SDL_Window在棧上,我有錯誤,當我試圖訪問其成員像'SDL_Window *寬; W-> flags'。 – Julien

相關問題