Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winapi 直接使用GCC创建GUI应用程序,删除控制台_Winapi_User Interface_Gcc - Fatal编程技术网

Winapi 直接使用GCC创建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窗口 谢

我决定直接使用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子系统为目标的方法。