【发布时间】:2017-10-09 05:18:28
【问题描述】:
大家好,我刚刚开始一个项目,项目的第一部分不需要在运行可执行文件时显示控制台窗口(必须在 Windows 机器上),但我似乎无法做到这一点,我在 64 位 Windows 机器上使用 eclipse kepler。
我首先将 windows main 添加到我的 main 函数中,然后我关注了这个线程:
Compiling a Win32 GUI app (without a console) using MinGW and Eclipse
但也许我做错了什么?
我将链接器标志留空,然后单击设置选择了一个新的其他选项并将其放入-subsystem, win32。但这没有成功!
然后我将其更改为-subsystem, win32,大写为W,但没有运气。
然后我尝试添加-mwindows 作为标志并重复上述步骤但没有成功。
知道如何解决这个谢谢。
#include <iostream>
#include <Windows.h>
using namespace std;
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow) {
return 0;
}
你好 Randrop,我尝试使用该代码,但是当我尝试运行程序时,一个 .exe 文件没有被执行,我不太清楚为什么
**********编辑
大家好,事实证明它正在工作,但是由于程序什么都不做,它会立即终止,无论如何我可以在不显示控制台窗口的情况下继续执行程序吗??
【问题讨论】:
-
链接器开关是
-subsystem,windows,如您链接到的问答中所述。你为什么不关注它? -
我做了,没用
-
当我添加 -mwindows 作为标志和 -subsystem,windows 作为其他选项时,它告诉我启动失败:找不到二进制文件,并且当我检查我的文件夹时没有 .exe 文件,即使当我什么都没清理和重建项目..
-
你的 WinMain() 函数除了退出什么都不做,所以程序当然会立即退出。 通常, 当然,您希望程序执行某些操作,因此 WinMain() 不会为空。如果你只是想要一个“你好,世界!”风格的程序,调用
MessageBox(NULL, L"Hello World!", L"My Program", MB_OK);(如果程序是在 ANSI 而不是 Unicode 模式下构建的,您可能需要省略 L 前缀。)
标签: c++ windows eclipse winapi