2016-04-03 10 views
0

我在使用SDL 1.2.15調試C++項目時遇到了麻煩,相反,我的程序正常運行時沒有任何問題。實際上,啓動調試時出現錯誤:「在[十六進制地址]上main()沒有可用的源代碼可用,我在Eclipse中唯一可以做的事情是單擊」View Disassembly「,它顯示所有彙編器執行的結果,錯誤中指定的地址,是不是主要的(),但立即以前。使用SDL項目調試錯誤「沒有可用於main()的源」

include "SDL/SDL.h" 
int main(int argc, char* args[]) { 
SDL_Surface* screen; 
SDL_Surface* sur; 
screen=SDL_SetVideoMode(1280,720,32,SDL_SWSURFACE); 

//Start SDL 
SDL_Init(SDL_INIT_EVERYTHING); 
sur=SDL_LoadBMP("immagine.bmp"); 
SDL_BlitSurface(sur,NULL,screen,NULL); 
SDL_Flip(screen); 
SDL_Delay(4000); 
//Quit SDL 
SDL_Quit(); 
return 0; 
} 

程序是非常簡單的,所以我不認爲這個問題與代碼的內容相關,似乎甚至與gdb沒有關係,因爲它可以在C++項目中正常工作,但問題只出現在使用SDL中。 我試圖將默認編譯器標記從-g3更改爲-g,但沒有任何更改。
我正在使用Eclipse Mars .2在Windows 10(64位)上使用MinGW gcc和g D b。
也許這個問題與MinGW中調試libreries的不正確鏈接有關?

回答

0

問題出在調試器的入口點,實際上SDL定義了他自己的主(SDL_main),所以我解決了從「調試配置」菜單,調試器標籤,字段「停止啓動時」 「SDL_main」中的默認值「main」。

相關問題