2011-12-20 54 views
0

我不知道我的代碼塊是否有問題,但我可以編譯該項目,但我不能從程序本身運行它閃爍,然後SDL應用程序關閉和控制檯出現(IDK,但這個控制檯似乎不像tipic控制檯)。代碼塊和SDL輸出。奇怪的行爲

我可以自己去運行程序,但認真的是不是它應該是正確的方式?

而且我也注意到,當您運行控制檯應用程序而不是SDL應用程序時,控制檯略有不同?爲什麼,有沒有辦法解決這個問題?有一些與控制檯有關嗎?

+0

Codeblocks返回的消息是什麼? – 2011-12-20 09:06:12

+0

類似於procces返回1 <0x1>執行時間:1.117 s它通常發生在窗口關閉時,而不是通過按下enter也codeblocks輸出的類似消息在編譯器日誌 – Leandro 2011-12-20 12:17:02

回答

0

我假設你在windows中使用代碼塊。 控制檯中差異的原因是因爲代碼塊使用Msys,這是對POSIX(* nix)shell環境的最小植入。

Msys將窗口中的路徑視爲* nix路徑C:\ folder \ file.ext可以通過/ c /文件夾/文件訪問。

MSYS使用MinGW一起工作,以提供一個* nix的類似環境,打造鏈,包括GCC,製造,汽車-conf的和其他幾個人,你也可以輕鬆構建最開放源碼庫相當以同樣的方式你將在* nix系統上:「./configure」「make」「make install」。

有幾件事情你應該檢查一下你在使用MinGW編譯SDL時的正確性。

在我的經驗中,g ++似乎比gcc更好。

您需要設置將G ++的選項:

-g -O2 

包括導演:

-I/mingw/include/SDL 

定義,也可以替換的#define -D和在上面放源:

-D_GNU_SOURCE=1 -Dmain=SDL_main -DHAVE_OPENGL 

庫文件夾

-L/mingw/lib 

庫:

-lmingw32 -lSDLmain -lSDL -mwindows 

這些設置可能不適合你的工作,但還有相當接近,所以檢查其中SDL.h和lib文件,必要時調整。雖然這些可能是編譯正確的。

+0

嗯,我只是把它設置爲你將使用Dev -Cpp我只是複製鏈接器上的其他鏈接器選項,我的意思是它編譯,但它不從程序運行,運行它我必須去的文件夾的.exe是運行它,它運行完美,但...我不能讓它從代碼塊運行,這將爲我節省很多時間 – Leandro 2011-12-20 12:13:44

0

其固定的我只需要複製圖像到相同的文件夾作爲我的項目愚蠢= P