2012-07-28 140 views
1

我看了其他的解決方案,但我不知道爲什麼這樣說,因爲我有一個主要的。 我試過建立一個控制檯應用程序和GUI應用程序。它假設是一個GUI應用程序(SDL)。 在頭文件中是否有主要的地方? 爲什麼你會有一個主要的和主要的沒有找到。對'WinMain @ 16'的未定義引用?

35小時後我終於認爲這是最後一個錯誤。

我的IDE是代碼塊,我的編譯器是MinGW32。

+0

thx for edit>。> – Kaliber64 2012-07-28 08:37:10

+0

它不會抱怨'main',它抱怨'WinMain' - 你有*定義了什麼地方,並鏈接到? – YePhIcK 2012-07-28 08:39:50

+0

該演示是爲Visual Studio爲我正在使用的動畫庫預先編寫的。我和lib的老闆一起工作(上帝保佑他的幫助)。但他沒有時間來解決我所有的問題。他說他正在編輯他所做的改變。他發電子郵件給我他的變化。他的任何演示中都沒有winmain。我也嘗試用winmain,Winmain,WinMain和winMain替換main。沒有工作。 – Kaliber64 2012-07-28 08:47:24

回答

0

我把mingw32放在鏈接器的頂部,然後我可以使用常規的main。 我在包含windows.h並獲得了所有額外的參數後,winmain工作。 但我刪除了一些簡單的東西。

-1

WinMain是程序可能的入口點之一。

我不熟悉Windows上的GCC或「CodeBlocks」。 Microsoft鏈接器的/ ENTRYPOINT鏈接器選項描述了可能的入口點:http://msdn.microsoft.com/en-us/library/f9t8842e%28v=vs.110%29

如您所見,「main」用於非unicode控制檯應用程序,而WinMain用於非unicode GUI應用程序。

在Microsoft鏈接器上,/ SUBSYSTEM選項用於決定構建哪種類型的應用程序。

機會是

  • 你必須爲你的編譯器做這樣的事情/子系統或
  • 你有一些特殊的編譯器,庫

鏈接也許你能弄清楚給出上述提示時應該做些什麼:-)

+0

這不適用於mingw。如果沒有明確指定,mingw使用'main'作爲入口點。 – Lol4t0 2012-07-28 11:10:40

+0

@ Lol4t0不真實;如果你使用'-mwindows'鏈接入口點是'WinMain'。 '-mconsole'是默認的事實是標準符合開箱即用... – rubenvb 2012-07-28 11:22:51

+0

@rubenvb,你使用什麼'gcc'版本?即使使用'-mwindows','4.7.0'也使用'main'。另外[手冊頁](http://linux.die.net/man/1/gcc)沒有聲明任何入口點更改。 – Lol4t0 2012-07-28 11:31:00

4

在鏈接時使用-lSDLmain-mwindows

+0

SDL庫鏈接,但我發現mwindows修復,但沒有名稱的lib我需要mingw32在鏈接器的頂部,我能夠改變我的勝利主力迴歸主力。 – Kaliber64 2012-07-29 15:35:14