• [wxWidgets] 去除MinGW下编译的wxWidgets程序的控制台窗口


    写的wxWidgets程序在Windows下启动很慢,并且会显示一个多余的cmd窗口。使用的是MinGW环境编译,编译的命令是:

    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

  • 相关阅读:
    SP338 ROADS
    [Usaco2008 Mar]牛跑步
    [Cerc2005]Knights of the Round Table
    [Poi2005]Piggy Banks小猪存钱罐
    Pku1236 Network of Schools
    PKU2186 Popular Cows 受欢迎的牛
    黑暗城堡
    入门OJ:最短路径树入门
    Sqli-labs
    Sqli-labs
  • 原文地址:https://www.cnblogs.com/nicebear/p/2030722.html
Copyright © 2020-2023  润新知