[wxWidgets] 去除MinGW下编译的wxWidgets程序的控制台窗口
2011-11-04 23:26
357 查看
写的wxWidgets程序在Windows下启动很慢,并且会显示一个多余的cmd窗口。使用的是MinGW环境编译,编译的命令是:
起初尝试使用FreeConsole()函数来去掉控制台窗口,但仍不能解决启动慢的问题,而且程序启动时还是会产生cmd窗口,窗体载入后才执行到FreeConsole()函数去掉控制台窗口。因此这个办法不好。
实际的问题原因是:编译时使用的是控制台模式,应该使用GUI模式。解决的方法是向链接器ld传入“--subsystem,windows”参数,这需要用-Wl让gcc把这个参数传给ld。
因此,编译命令中加入如下参数,就不会产生cmd窗口了,程序启动时也不会很慢了:
g++ -Wl,--enable-auto-import helloworld.cpp `./wx-config.exe --libs --cxxflags` -o helloworld.exe
起初尝试使用FreeConsole()函数来去掉控制台窗口,但仍不能解决启动慢的问题,而且程序启动时还是会产生cmd窗口,窗体载入后才执行到FreeConsole()函数去掉控制台窗口。因此这个办法不好。
实际的问题原因是:编译时使用的是控制台模式,应该使用GUI模式。解决的方法是向链接器ld传入“--subsystem,windows”参数,这需要用-Wl让gcc把这个参数传给ld。
因此,编译命令中加入如下参数,就不会产生cmd窗口了,程序启动时也不会很慢了:
-Wl,--subsystem,windows
相关文章推荐
- [wxWidgets] 去除MinGW下编译的wxWidgets程序的控制台窗口
- Go:去除程序启动时的控制台窗口
- 用mingw编译C++工程;程序里面的cout<<"aaa";cmd运行c++程序,aaa内容在控制台不显示,如何将aaa输出到控制台屏幕并将控制台内容写到一个文件中。
- linux中codeblocks程序编译运行后不出现控制台窗口
- Go:去除程序启动时的控制台窗口
- Linux平台下编译运行wxWidgets简单窗口程序
- Windows下用MinGW编译wxWidgets需要注意的地方
- Subline text3 配置java程序编译运行在subline控制台环境和windows控制台
- 在控制台程序中解决_beginthread编译不通过问题
- 安装mingw后,在命令窗口编译c文件
- C++&wxWidgets 跨平台窗口程序开发(二,Linux篇)
- [转载]QT+MinGW在windows中静态编译程序
- 【java & c#】通过控制台编译和运行程序//不依赖IDE
- mingw无法编译多线程程序的问题及解决
- MFC及控制台窗口程序获取命令行传过来的参数的方法
- VC中如何编译无Console窗口的Console程序
- 如何编译wxWidgets示例程序(samples目录下的程序)
- 如何让VS调试的控制台程序在后台执行,不显示DOS窗口
- [VC++]控制台程序窗口隐藏
- 最简单的Windows窗口程序,使用main函数,隐藏控制台等,适合window编程入门