该方法对使用cmake编译qt或者c++ Windows 桌面应用程序的人员有帮助。
只需要在cmakelists.txt中添加set(CMAKE_CXX_FLAGS "-mwindows")
或者在cmake时指定编译参数cmake -DCMAKE_CXX_FLAGS="-mwindows"
即可
如果用的是c而不是c++,就只需把CXX改为C
问题描述,使用QT开发的CMake项目(Widgets应用程序),使用MinGw编译,运行桌面应用程序时,多了一个cmd窗口,如下图:

解决办法:
CMakeList.txt的部分代码如下:
cmake_minimum_required(VERSION 3.5)
project(HovertreeDbHelper VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "-mwindows")
#by 何问起
# hovertree.com
使用G++进行编译时,或者使用qmake进行编译时,请参考:
https://hovertree.com/h/bjag/1cnvmg29.htm