怎么写一个Qt程序带有启动画面,同时去掉运行时出现的控制台

时间:2022-06-04 17:42:54
用Qt为一个程序写了一个开机启动画面,可是运行release中的程序时总是出现控制台,用的是QTest模块,在网上搜了一下说是去掉qtestlib.trf文件中的CONFIG+=console可是去掉后,重新编译运行程序,当刚启动的时候还是出现控制台窗口,不知道怎么办,还请热心的高手帮帮吗?本人接触Qt不久,是个新手。

12 个解决方案

#1


QSplashScreen

The QSplashScreen widget provides a splash screen that can be shown during application startup.

A splash screen is a widget that is usually displayed when an application is being started. Splash screens are often used for applications that have long start up times (e.g. database or networking applications that take time to establish connections) to provide the user with feedback that the application is loading.

#2


这是Qt Assistant中的内容吧,我参考过了。主要想解决程序启动画面时出现控制台的问题。

#3


你的开机启动画面怎么会用到QTest模块啊?应该只需要用到QtCore和QtGui两个模块吧

#4


我的main.cpp中是这样的:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QSplashScreen>

#include <QtTest>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    app.setApplicationName("Music Player");
    app.setQuitOnLastWindowClosed(true);
    QSplashScreen *splash = new QSplashScreen;
     splash->setPixmap(QPixmap(":/images/music.png"));
     splash->show();
     Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;
     splash->showMessage(QObject::tr("Setting up the main Window..."),
                         topRight,
                         Qt::red);
     QTest::qSleep(3000);

     splash->showMessage(QObject::tr("Loading modules..."),
                         topRight,
                         Qt::blue);
     QTest::qSleep(3000);

     MainWindow w;

     w.show();

     splash->finish(splash);

    delete splash;
    return app.exec();
}
开机时出现控制台,去掉D:\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\features\qtestlib.prf中的CONFIG += console后,还是出现控制台。主要是解决延迟开机启动画面,不知道怎么解决,刚接触Qt,是个新手还请高手指点。

#5


修正上面的“开机时出现控制台”,而是启动程序时。主要是解决延迟启动程序时的启动画面时间。
Makefile文件为:
#############################################################################
# Makefile for building: MusicPlayer
# Generated by qmake (2.01a) (Qt 4.7.4) on: ?? ?? 15 14:58:56 2012
# Project:  ..\MusicPlayer\MusicPlayer.pro
# Template: app
# Command: d:\qt\4.7.4\bin\qmake.exe -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
#############################################################################

first: release
install: release-install
uninstall: release-uninstall
MAKEFILE      = Makefile
QMAKE         = d:\qt\4.7.4\bin\qmake.exe
DEL_FILE      = del
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
INSTALL_FILE  = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = del
SYMLINK       = 
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
SUBTARGETS    =  \
release \
debug

release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release 
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug 
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall

Makefile: ../MusicPlayer/MusicPlayer.pro  d:/Qt/4.7.4/mkspecs/win32-g++/qmake.conf d:/Qt/4.7.4/mkspecs/qconfig.pri \
d:/Qt/4.7.4/mkspecs/modules/qt_webkit_version.pri \
d:/Qt/4.7.4/mkspecs/features/qt_functions.prf \
d:/Qt/4.7.4/mkspecs/features/qt_config.prf \
d:/Qt/4.7.4/mkspecs/features/exclusive_builds.prf \
d:/Qt/4.7.4/mkspecs/features/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/release.prf \
d:/Qt/4.7.4/mkspecs/features/debug_and_release.prf \
d:/Qt/4.7.4/mkspecs/features/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/qtestlib.prf \
d:/Qt/4.7.4/mkspecs/features/win32/console.prf \
d:/Qt/4.7.4/mkspecs/features/win32/rtti.prf \
d:/Qt/4.7.4/mkspecs/features/win32/exceptions.prf \
d:/Qt/4.7.4/mkspecs/features/win32/stl.prf \
d:/Qt/4.7.4/mkspecs/features/shared.prf \
d:/Qt/4.7.4/mkspecs/features/warn_on.prf \
d:/Qt/4.7.4/mkspecs/features/qt.prf \
d:/Qt/4.7.4/mkspecs/features/win32/thread.prf \
d:/Qt/4.7.4/mkspecs/features/moc.prf \
d:/Qt/4.7.4/mkspecs/features/resources.prf \
d:/Qt/4.7.4/mkspecs/features/uic.prf \
d:/Qt/4.7.4/mkspecs/features/yacc.prf \
d:/Qt/4.7.4/mkspecs/features/lex.prf \
d:/Qt/4.7.4/mkspecs/features/incredibuild_xge.prf \
d:/Qt/4.7.4/mkspecs/features/include_source_dir.prf
$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
d:\Qt\4.7.4\mkspecs\qconfig.pri:
d:\Qt\4.7.4\mkspecs\modules\qt_webkit_version.pri:
d:\Qt\4.7.4\mkspecs\features\qt_functions.prf:
d:\Qt\4.7.4\mkspecs\features\qt_config.prf:
d:\Qt\4.7.4\mkspecs\features\exclusive_builds.prf:
d:\Qt\4.7.4\mkspecs\features\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\release.prf:
d:\Qt\4.7.4\mkspecs\features\debug_and_release.prf:
d:\Qt\4.7.4\mkspecs\features\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\qtestlib.prf:
d:\Qt\4.7.4\mkspecs\features\win32\console.prf:
d:\Qt\4.7.4\mkspecs\features\win32\rtti.prf:
d:\Qt\4.7.4\mkspecs\features\win32\exceptions.prf:
d:\Qt\4.7.4\mkspecs\features\win32\stl.prf:
d:\Qt\4.7.4\mkspecs\features\shared.prf:
d:\Qt\4.7.4\mkspecs\features\warn_on.prf:
d:\Qt\4.7.4\mkspecs\features\qt.prf:
d:\Qt\4.7.4\mkspecs\features\win32\thread.prf:
d:\Qt\4.7.4\mkspecs\features\moc.prf:
d:\Qt\4.7.4\mkspecs\features\resources.prf:
d:\Qt\4.7.4\mkspecs\features\uic.prf:
d:\Qt\4.7.4\mkspecs\features\yacc.prf:
d:\Qt\4.7.4\mkspecs\features\lex.prf:
d:\Qt\4.7.4\mkspecs\features\incredibuild_xge.prf:
d:\Qt\4.7.4\mkspecs\features\include_source_dir.prf:
qmake: qmake_all FORCE
@$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro

qmake_all: FORCE

make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile

check: first

release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean

release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:

$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

#6


不是修正上面“开机启动出现控制台”,而是“启动程序时出现控制台",主要延迟启动程序画面,
Makefile文件为:
#############################################################################
# Makefile for building: MusicPlayer
# Generated by qmake (2.01a) (Qt 4.7.4) on: ?? ?? 15 14:58:56 2012
# Project:  ..\MusicPlayer\MusicPlayer.pro
# Template: app
# Command: d:\qt\4.7.4\bin\qmake.exe -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
#############################################################################

first: release
install: release-install
uninstall: release-uninstall
MAKEFILE      = Makefile
QMAKE         = d:\qt\4.7.4\bin\qmake.exe
DEL_FILE      = del
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
INSTALL_FILE  = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = del
SYMLINK       = 
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
SUBTARGETS    =  \
release \
debug

release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release 
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug 
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall

Makefile: ../MusicPlayer/MusicPlayer.pro  d:/Qt/4.7.4/mkspecs/win32-g++/qmake.conf d:/Qt/4.7.4/mkspecs/qconfig.pri \
d:/Qt/4.7.4/mkspecs/modules/qt_webkit_version.pri \
d:/Qt/4.7.4/mkspecs/features/qt_functions.prf \
d:/Qt/4.7.4/mkspecs/features/qt_config.prf \
d:/Qt/4.7.4/mkspecs/features/exclusive_builds.prf \
d:/Qt/4.7.4/mkspecs/features/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/release.prf \
d:/Qt/4.7.4/mkspecs/features/debug_and_release.prf \
d:/Qt/4.7.4/mkspecs/features/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/qtestlib.prf \
d:/Qt/4.7.4/mkspecs/features/win32/console.prf \
d:/Qt/4.7.4/mkspecs/features/win32/rtti.prf \
d:/Qt/4.7.4/mkspecs/features/win32/exceptions.prf \
d:/Qt/4.7.4/mkspecs/features/win32/stl.prf \
d:/Qt/4.7.4/mkspecs/features/shared.prf \
d:/Qt/4.7.4/mkspecs/features/warn_on.prf \
d:/Qt/4.7.4/mkspecs/features/qt.prf \
d:/Qt/4.7.4/mkspecs/features/win32/thread.prf \
d:/Qt/4.7.4/mkspecs/features/moc.prf \
d:/Qt/4.7.4/mkspecs/features/resources.prf \
d:/Qt/4.7.4/mkspecs/features/uic.prf \
d:/Qt/4.7.4/mkspecs/features/yacc.prf \
d:/Qt/4.7.4/mkspecs/features/lex.prf \
d:/Qt/4.7.4/mkspecs/features/incredibuild_xge.prf \
d:/Qt/4.7.4/mkspecs/features/include_source_dir.prf
$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
d:\Qt\4.7.4\mkspecs\qconfig.pri:
d:\Qt\4.7.4\mkspecs\modules\qt_webkit_version.pri:
d:\Qt\4.7.4\mkspecs\features\qt_functions.prf:
d:\Qt\4.7.4\mkspecs\features\qt_config.prf:
d:\Qt\4.7.4\mkspecs\features\exclusive_builds.prf:
d:\Qt\4.7.4\mkspecs\features\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\release.prf:
d:\Qt\4.7.4\mkspecs\features\debug_and_release.prf:
d:\Qt\4.7.4\mkspecs\features\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\qtestlib.prf:
d:\Qt\4.7.4\mkspecs\features\win32\console.prf:
d:\Qt\4.7.4\mkspecs\features\win32\rtti.prf:
d:\Qt\4.7.4\mkspecs\features\win32\exceptions.prf:
d:\Qt\4.7.4\mkspecs\features\win32\stl.prf:
d:\Qt\4.7.4\mkspecs\features\shared.prf:
d:\Qt\4.7.4\mkspecs\features\warn_on.prf:
d:\Qt\4.7.4\mkspecs\features\qt.prf:
d:\Qt\4.7.4\mkspecs\features\win32\thread.prf:
d:\Qt\4.7.4\mkspecs\features\moc.prf:
d:\Qt\4.7.4\mkspecs\features\resources.prf:
d:\Qt\4.7.4\mkspecs\features\uic.prf:
d:\Qt\4.7.4\mkspecs\features\yacc.prf:
d:\Qt\4.7.4\mkspecs\features\lex.prf:
d:\Qt\4.7.4\mkspecs\features\incredibuild_xge.prf:
d:\Qt\4.7.4\mkspecs\features\include_source_dir.prf:
qmake: qmake_all FORCE
@$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro

qmake_all: FORCE

make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile

check: first

release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean

release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:

$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

#7


你在你的.pro文件里面加上
CONFIG-=console

印象中这是windows平台特有的

如果还是不行,贴一下你的.pro文件
不需要贴Makefile,因为这是自动生成的

#8


引用 7 楼 zhu_xz 的回复:
你在你的.pro文件里面加上
CONFIG-=console

印象中这是windows平台特有的

如果还是不行,贴一下你的.pro文件
不需要贴Makefile,因为这是自动生成的


我的一些同事因为习惯自己编写/修改 Makefile,都是用自动生成的基本pro文件,然后qmake生成Makefile后,在自己手动改Makefile……很多人不愿意去学习pro文件如何编写满足自己需求……怨念啊

#9


我想写一个音乐播放器,以下是我的.pro
#-------------------------------------------------
#
# Project created by QtCreator 2012-03-03T15:33:32
#
#-------------------------------------------------

QT        += phonon

 HEADERS   += mainwindow.h
 SOURCES   += main.cpp \
              mainwindow.cpp

 # install
 target.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer
 sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images
 sources.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer
 INSTALLS += target sources

 wince*{
 DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout
 }

 symbian:TARGET.UID3 = 0xA000CF6A

RESOURCES +=res.qrc

OTHER_FILES +=\


RC_FILE = myapp.rc
CONFIG += qtestlib






#10


你把最后一行删掉:
CONFIG += qtestlib

这个是用来做unit test的

#11


去掉CONFIG += qtestlib
后,重新编译了一下,但是编译不过去,出现QTest:no such file or directory
QTest has not been decleared
于是又试了一下在.pro中添加CONFIG-=console后,程序启动时还是会出现控制台。
想了半天不知道可不可以在不用QTest,而是做成一个定时器,来延迟程序启动画面?还请高手指点?

#12


你的代码中在什么地方用到了QTest?这是用来做unit test的...你用来干啥?

#1


QSplashScreen

The QSplashScreen widget provides a splash screen that can be shown during application startup.

A splash screen is a widget that is usually displayed when an application is being started. Splash screens are often used for applications that have long start up times (e.g. database or networking applications that take time to establish connections) to provide the user with feedback that the application is loading.

#2


这是Qt Assistant中的内容吧,我参考过了。主要想解决程序启动画面时出现控制台的问题。

#3


你的开机启动画面怎么会用到QTest模块啊?应该只需要用到QtCore和QtGui两个模块吧

#4


我的main.cpp中是这样的:
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QSplashScreen>

#include <QtTest>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    app.setApplicationName("Music Player");
    app.setQuitOnLastWindowClosed(true);
    QSplashScreen *splash = new QSplashScreen;
     splash->setPixmap(QPixmap(":/images/music.png"));
     splash->show();
     Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;
     splash->showMessage(QObject::tr("Setting up the main Window..."),
                         topRight,
                         Qt::red);
     QTest::qSleep(3000);

     splash->showMessage(QObject::tr("Loading modules..."),
                         topRight,
                         Qt::blue);
     QTest::qSleep(3000);

     MainWindow w;

     w.show();

     splash->finish(splash);

    delete splash;
    return app.exec();
}
开机时出现控制台,去掉D:\QtSDK\Desktop\Qt\4.7.4\mingw\mkspecs\features\qtestlib.prf中的CONFIG += console后,还是出现控制台。主要是解决延迟开机启动画面,不知道怎么解决,刚接触Qt,是个新手还请高手指点。

#5


修正上面的“开机时出现控制台”,而是启动程序时。主要是解决延迟启动程序时的启动画面时间。
Makefile文件为:
#############################################################################
# Makefile for building: MusicPlayer
# Generated by qmake (2.01a) (Qt 4.7.4) on: ?? ?? 15 14:58:56 2012
# Project:  ..\MusicPlayer\MusicPlayer.pro
# Template: app
# Command: d:\qt\4.7.4\bin\qmake.exe -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
#############################################################################

first: release
install: release-install
uninstall: release-uninstall
MAKEFILE      = Makefile
QMAKE         = d:\qt\4.7.4\bin\qmake.exe
DEL_FILE      = del
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
INSTALL_FILE  = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = del
SYMLINK       = 
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
SUBTARGETS    =  \
release \
debug

release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release 
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug 
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall

Makefile: ../MusicPlayer/MusicPlayer.pro  d:/Qt/4.7.4/mkspecs/win32-g++/qmake.conf d:/Qt/4.7.4/mkspecs/qconfig.pri \
d:/Qt/4.7.4/mkspecs/modules/qt_webkit_version.pri \
d:/Qt/4.7.4/mkspecs/features/qt_functions.prf \
d:/Qt/4.7.4/mkspecs/features/qt_config.prf \
d:/Qt/4.7.4/mkspecs/features/exclusive_builds.prf \
d:/Qt/4.7.4/mkspecs/features/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/release.prf \
d:/Qt/4.7.4/mkspecs/features/debug_and_release.prf \
d:/Qt/4.7.4/mkspecs/features/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/qtestlib.prf \
d:/Qt/4.7.4/mkspecs/features/win32/console.prf \
d:/Qt/4.7.4/mkspecs/features/win32/rtti.prf \
d:/Qt/4.7.4/mkspecs/features/win32/exceptions.prf \
d:/Qt/4.7.4/mkspecs/features/win32/stl.prf \
d:/Qt/4.7.4/mkspecs/features/shared.prf \
d:/Qt/4.7.4/mkspecs/features/warn_on.prf \
d:/Qt/4.7.4/mkspecs/features/qt.prf \
d:/Qt/4.7.4/mkspecs/features/win32/thread.prf \
d:/Qt/4.7.4/mkspecs/features/moc.prf \
d:/Qt/4.7.4/mkspecs/features/resources.prf \
d:/Qt/4.7.4/mkspecs/features/uic.prf \
d:/Qt/4.7.4/mkspecs/features/yacc.prf \
d:/Qt/4.7.4/mkspecs/features/lex.prf \
d:/Qt/4.7.4/mkspecs/features/incredibuild_xge.prf \
d:/Qt/4.7.4/mkspecs/features/include_source_dir.prf
$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
d:\Qt\4.7.4\mkspecs\qconfig.pri:
d:\Qt\4.7.4\mkspecs\modules\qt_webkit_version.pri:
d:\Qt\4.7.4\mkspecs\features\qt_functions.prf:
d:\Qt\4.7.4\mkspecs\features\qt_config.prf:
d:\Qt\4.7.4\mkspecs\features\exclusive_builds.prf:
d:\Qt\4.7.4\mkspecs\features\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\release.prf:
d:\Qt\4.7.4\mkspecs\features\debug_and_release.prf:
d:\Qt\4.7.4\mkspecs\features\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\qtestlib.prf:
d:\Qt\4.7.4\mkspecs\features\win32\console.prf:
d:\Qt\4.7.4\mkspecs\features\win32\rtti.prf:
d:\Qt\4.7.4\mkspecs\features\win32\exceptions.prf:
d:\Qt\4.7.4\mkspecs\features\win32\stl.prf:
d:\Qt\4.7.4\mkspecs\features\shared.prf:
d:\Qt\4.7.4\mkspecs\features\warn_on.prf:
d:\Qt\4.7.4\mkspecs\features\qt.prf:
d:\Qt\4.7.4\mkspecs\features\win32\thread.prf:
d:\Qt\4.7.4\mkspecs\features\moc.prf:
d:\Qt\4.7.4\mkspecs\features\resources.prf:
d:\Qt\4.7.4\mkspecs\features\uic.prf:
d:\Qt\4.7.4\mkspecs\features\yacc.prf:
d:\Qt\4.7.4\mkspecs\features\lex.prf:
d:\Qt\4.7.4\mkspecs\features\incredibuild_xge.prf:
d:\Qt\4.7.4\mkspecs\features\include_source_dir.prf:
qmake: qmake_all FORCE
@$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro

qmake_all: FORCE

make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile

check: first

release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean

release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:

$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

#6


不是修正上面“开机启动出现控制台”,而是“启动程序时出现控制台",主要延迟启动程序画面,
Makefile文件为:
#############################################################################
# Makefile for building: MusicPlayer
# Generated by qmake (2.01a) (Qt 4.7.4) on: ?? ?? 15 14:58:56 2012
# Project:  ..\MusicPlayer\MusicPlayer.pro
# Template: app
# Command: d:\qt\4.7.4\bin\qmake.exe -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
#############################################################################

first: release
install: release-install
uninstall: release-uninstall
MAKEFILE      = Makefile
QMAKE         = d:\qt\4.7.4\bin\qmake.exe
DEL_FILE      = del
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
INSTALL_FILE  = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR   = $(COPY_DIR)
DEL_FILE      = del
SYMLINK       = 
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
SUBTARGETS    =  \
release \
debug

release: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release
release-make_default: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release 
release-make_first: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release first
release-all: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release all
release-clean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release clean
release-distclean: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release distclean
release-install: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release install
release-uninstall: $(MAKEFILE).Release FORCE
$(MAKE) -f $(MAKEFILE).Release uninstall
debug: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug
debug-make_default: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug 
debug-make_first: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug first
debug-all: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug all
debug-clean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug clean
debug-distclean: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug distclean
debug-install: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug install
debug-uninstall: $(MAKEFILE).Debug FORCE
$(MAKE) -f $(MAKEFILE).Debug uninstall

Makefile: ../MusicPlayer/MusicPlayer.pro  d:/Qt/4.7.4/mkspecs/win32-g++/qmake.conf d:/Qt/4.7.4/mkspecs/qconfig.pri \
d:/Qt/4.7.4/mkspecs/modules/qt_webkit_version.pri \
d:/Qt/4.7.4/mkspecs/features/qt_functions.prf \
d:/Qt/4.7.4/mkspecs/features/qt_config.prf \
d:/Qt/4.7.4/mkspecs/features/exclusive_builds.prf \
d:/Qt/4.7.4/mkspecs/features/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_pre.prf \
d:/Qt/4.7.4/mkspecs/features/release.prf \
d:/Qt/4.7.4/mkspecs/features/debug_and_release.prf \
d:/Qt/4.7.4/mkspecs/features/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/win32/default_post.prf \
d:/Qt/4.7.4/mkspecs/features/qtestlib.prf \
d:/Qt/4.7.4/mkspecs/features/win32/console.prf \
d:/Qt/4.7.4/mkspecs/features/win32/rtti.prf \
d:/Qt/4.7.4/mkspecs/features/win32/exceptions.prf \
d:/Qt/4.7.4/mkspecs/features/win32/stl.prf \
d:/Qt/4.7.4/mkspecs/features/shared.prf \
d:/Qt/4.7.4/mkspecs/features/warn_on.prf \
d:/Qt/4.7.4/mkspecs/features/qt.prf \
d:/Qt/4.7.4/mkspecs/features/win32/thread.prf \
d:/Qt/4.7.4/mkspecs/features/moc.prf \
d:/Qt/4.7.4/mkspecs/features/resources.prf \
d:/Qt/4.7.4/mkspecs/features/uic.prf \
d:/Qt/4.7.4/mkspecs/features/yacc.prf \
d:/Qt/4.7.4/mkspecs/features/lex.prf \
d:/Qt/4.7.4/mkspecs/features/incredibuild_xge.prf \
d:/Qt/4.7.4/mkspecs/features/include_source_dir.prf
$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro
d:\Qt\4.7.4\mkspecs\qconfig.pri:
d:\Qt\4.7.4\mkspecs\modules\qt_webkit_version.pri:
d:\Qt\4.7.4\mkspecs\features\qt_functions.prf:
d:\Qt\4.7.4\mkspecs\features\qt_config.prf:
d:\Qt\4.7.4\mkspecs\features\exclusive_builds.prf:
d:\Qt\4.7.4\mkspecs\features\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_pre.prf:
d:\Qt\4.7.4\mkspecs\features\release.prf:
d:\Qt\4.7.4\mkspecs\features\debug_and_release.prf:
d:\Qt\4.7.4\mkspecs\features\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\win32\default_post.prf:
d:\Qt\4.7.4\mkspecs\features\qtestlib.prf:
d:\Qt\4.7.4\mkspecs\features\win32\console.prf:
d:\Qt\4.7.4\mkspecs\features\win32\rtti.prf:
d:\Qt\4.7.4\mkspecs\features\win32\exceptions.prf:
d:\Qt\4.7.4\mkspecs\features\win32\stl.prf:
d:\Qt\4.7.4\mkspecs\features\shared.prf:
d:\Qt\4.7.4\mkspecs\features\warn_on.prf:
d:\Qt\4.7.4\mkspecs\features\qt.prf:
d:\Qt\4.7.4\mkspecs\features\win32\thread.prf:
d:\Qt\4.7.4\mkspecs\features\moc.prf:
d:\Qt\4.7.4\mkspecs\features\resources.prf:
d:\Qt\4.7.4\mkspecs\features\uic.prf:
d:\Qt\4.7.4\mkspecs\features\yacc.prf:
d:\Qt\4.7.4\mkspecs\features\lex.prf:
d:\Qt\4.7.4\mkspecs\features\incredibuild_xge.prf:
d:\Qt\4.7.4\mkspecs\features\include_source_dir.prf:
qmake: qmake_all FORCE
@$(QMAKE) -spec d:\Qt\4.7.4\mkspecs\win32-g++ CONFIG+=release -o Makefile ..\MusicPlayer\MusicPlayer.pro

qmake_all: FORCE

make_default: release-make_default debug-make_default FORCE
make_first: release-make_first debug-make_first FORCE
all: release-all debug-all FORCE
clean: release-clean debug-clean FORCE
distclean: release-distclean debug-distclean FORCE
-$(DEL_FILE) Makefile

check: first

release-mocclean: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocclean
debug-mocclean: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocclean
mocclean: release-mocclean debug-mocclean

release-mocables: $(MAKEFILE).Release
$(MAKE) -f $(MAKEFILE).Release mocables
debug-mocables: $(MAKEFILE).Debug
$(MAKE) -f $(MAKEFILE).Debug mocables
mocables: release-mocables debug-mocables
FORCE:

$(MAKEFILE).Release: Makefile
$(MAKEFILE).Debug: Makefile

#7


你在你的.pro文件里面加上
CONFIG-=console

印象中这是windows平台特有的

如果还是不行,贴一下你的.pro文件
不需要贴Makefile,因为这是自动生成的

#8


引用 7 楼 zhu_xz 的回复:
你在你的.pro文件里面加上
CONFIG-=console

印象中这是windows平台特有的

如果还是不行,贴一下你的.pro文件
不需要贴Makefile,因为这是自动生成的


我的一些同事因为习惯自己编写/修改 Makefile,都是用自动生成的基本pro文件,然后qmake生成Makefile后,在自己手动改Makefile……很多人不愿意去学习pro文件如何编写满足自己需求……怨念啊

#9


我想写一个音乐播放器,以下是我的.pro
#-------------------------------------------------
#
# Project created by QtCreator 2012-03-03T15:33:32
#
#-------------------------------------------------

QT        += phonon

 HEADERS   += mainwindow.h
 SOURCES   += main.cpp \
              mainwindow.cpp

 # install
 target.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer
 sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images
 sources.path = $$[QT_INSTALL_EXAMPLES]/phonon/qmusicplayer
 INSTALLS += target sources

 wince*{
 DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout
 }

 symbian:TARGET.UID3 = 0xA000CF6A

RESOURCES +=res.qrc

OTHER_FILES +=\


RC_FILE = myapp.rc
CONFIG += qtestlib






#10


你把最后一行删掉:
CONFIG += qtestlib

这个是用来做unit test的

#11


去掉CONFIG += qtestlib
后,重新编译了一下,但是编译不过去,出现QTest:no such file or directory
QTest has not been decleared
于是又试了一下在.pro中添加CONFIG-=console后,程序启动时还是会出现控制台。
想了半天不知道可不可以在不用QTest,而是做成一个定时器,来延迟程序启动画面?还请高手指点?

#12


你的代码中在什么地方用到了QTest?这是用来做unit test的...你用来干啥?