ufu*_*gun 49 windows console qt hide visual-studio
我有一个Qt应用程序,当我运行这个应用程序时,它背后有一个控制台.在开发中它很好,因为我在控制台上看到调试输出,但是当我想将这个可执行文件提供给客户时,应该没有控制台窗口.我怎么隐藏它?
(我使用的是Visual Studio 2008)
dat*_*olf 109
在项目构建链接器选项集中
/SUBSYSTEM:windows
/ENTRY:mainCRTStartup
Run Code Online (Sandbox Code Playgroud)
或者在源文件中使用以下#pragmaint main(...)
#pragma comment(linker, "/SUBSYSTEM:windows /ENTRY:mainCRTStartup")
Run Code Online (Sandbox Code Playgroud)
Han*_*ant 50
听起来您的链接器配置不正确.右键单击项目,"属性","链接器","系统","子系统"设置.确保选中"Windows",而不是"控制台".
并且,将main()更改为WinMain().
ufu*_*gun 12
我使用那种方法,它的工作原理
HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd, 0);
Run Code Online (Sandbox Code Playgroud)
小智 8
下一个解决方案;
环境:WixXP x64,msvs 2008,Qt v4.5.3
设置项目设置/配置属性/链接器/系统/子系统= Windows(/ SUBSYSTEM:WINDOWS)
但是对于x64,存在链接器错误:LNK2019:函数_WinMainCRTStartup中引用的未解析的外部符号_WinMain"为了避免它
替换以下代码:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// your code*
}
Run Code Online (Sandbox Code Playgroud)
通过
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char*, int nShowCmd)
{
int argc = 0;
QApplication app( argc, 0 );
}
Run Code Online (Sandbox Code Playgroud)它适用于两者 - Win32和x64平台.
小智 6
如果使用属性 - > 链接器 - > 系统 - > 子系统 | 视窗
并获得链接器错误.
您可以查看链接器 - > 高级 - > 入口点
并将值设置为"main"函数的名称.
如果您的主要功能是"主要",那么您的入口点将成为主要部分.
可能是更好的选择,不是简单地删除(如Andy M建议)但编辑*.pro文件添加类似的东西
CONFIG(debug, debug|release) {
CONFIG *= console
}
else {
CONFIG -= console
}
Run Code Online (Sandbox Code Playgroud)
在调试中,您可以看到控制台窗口,但不能发布.我喜欢.=)
| 归档时间: |
|
| 查看次数: |
86227 次 |
| 最近记录: |