当我编译 CLR C++ 应用程序的 "release" 版本时,除了 GUI 之外,我还会弹出一个 cmd window。我该如何解决这个问题?
When I compile a "release" build of CLR C++ application I get a cmd window popping up in addition to the GUI. How do I resolve this?
这是我的主要功能。我不太确定为什么会这样(我的第一个 GUI 应用程序,在此之前我一直使用 CLI)。在进行调试构建时不会发生这种情况,只有在发布构建时才会发生。我正在使用 Visual Studio 2017,这是一个 Windows 应用程序:
#include "MyForm.h"
using namespace System;
using namespace std;
using namespace System::Windows::Forms;
[STAThread]
int main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Project::MyForm form;
Application::Run(%form);
return 0;
}
我的猜测是您在项目的发布设置中指定了 "Command Line Application"。试试这个:创建一个新项目(假设你是 Visual Studio)和 select "GUI" 作为你的项目类型。然后将设置与当前项目进行比较。
当 Windows 加载 .exe 时,它会查看元数据以确定它是 CMD 还是 GUI 应用程序。元数据由链接器写入。
这是我的主要功能。我不太确定为什么会这样(我的第一个 GUI 应用程序,在此之前我一直使用 CLI)。在进行调试构建时不会发生这种情况,只有在发布构建时才会发生。我正在使用 Visual Studio 2017,这是一个 Windows 应用程序:
#include "MyForm.h"
using namespace System;
using namespace std;
using namespace System::Windows::Forms;
[STAThread]
int main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Project::MyForm form;
Application::Run(%form);
return 0;
}
我的猜测是您在项目的发布设置中指定了 "Command Line Application"。试试这个:创建一个新项目(假设你是 Visual Studio)和 select "GUI" 作为你的项目类型。然后将设置与当前项目进行比较。 当 Windows 加载 .exe 时,它会查看元数据以确定它是 CMD 还是 GUI 应用程序。元数据由链接器写入。