Winapi 直接使用GCC创建GUI应用程序,删除控制台
我决定直接使用Notepad+GCC编译器(以及整个Mingw环境)创建应用程序 首先,我创建了一个简单的Win32应用程序(一个简单的窗口)。这个文件只有4KB(对于像C:B或VS这样的IDE,这个文件大约有8KB) 不管怎么说,我的问题是,显示的是一个窗口,但同时也是一个窗口控制台。我不希望控制台出现,而只希望GUI窗口出现。我认为这是通过创建清单文件或类似的东西来实现的,我不太了解这些文件,因为这是我第一次尝试这样做。我如何告诉GCC它不应该创建一个con唯一的窗口-只是一个GUI窗口Winapi 直接使用GCC创建GUI应用程序,删除控制台,winapi,user-interface,gcc,Winapi,User Interface,Gcc,我决定直接使用Notepad+GCC编译器(以及整个Mingw环境)创建应用程序 首先,我创建了一个简单的Win32应用程序(一个简单的窗口)。这个文件只有4KB(对于像C:B或VS这样的IDE,这个文件大约有8KB) 不管怎么说,我的问题是,显示的是一个窗口,但同时也是一个窗口控制台。我不希望控制台出现,而只希望GUI窗口出现。我认为这是通过创建清单文件或类似的东西来实现的,我不太了解这些文件,因为这是我第一次尝试这样做。我如何告诉GCC它不应该创建一个con唯一的窗口-只是一个GUI窗口 谢
谢谢!您需要创建一个以GUI子系统而不是控制台子系统为目标的可执行文件。在MS工具中,通常的指示方式是使用不同形式的主功能:
int WINAPI WinMain(HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nCmdShow)
我相信mingw支持相同的约定。我发现了如何做到这一点。对于有相同问题的人:在使用GCC编译代码时,在命令行中使用-
mwindows
。谢谢!是的,-mwindows可以解决问题。我还找到了另一个选项,传递-Wl,--subsystem,windows当使用gcc进行编译时。两者都可以。是的,问题是除了GUI窗口外,还出现了一个控制台窗口。-mwindows是诀窍。这也很有效。有两种不同的方法使mingw以GUI子系统而不是控制台子系统为目标。是的,这是另一种使mingw以GUI子系统为目标的方法。