C++ 当我编译一个;“释放”;CLR C和x2B的构建+;应用程序我得到一个命令窗口弹出除了图形用户界面。我如何解决这个问题?

C++ 当我编译一个;“释放”;CLR C和x2B的构建+;应用程序我得到一个命令窗口弹出除了图形用户界面。我如何解决这个问题?,c++,compilation,clr,C++,Compilation,Clr,这是我的主要功能。我不太清楚为什么会发生这种情况(我有史以来的第一个GUI应用程序,在此之前我一直使用CLI)。这在进行调试生成时不会发生,仅在发布生成时才会发生。我正在使用Visual Studio 2017,这是一个Windows应用程序: #include "MyForm.h" using namespace System; using namespace std; using namespace System::Windows::Forms; [STAThread] int main

这是我的主要功能。我不太清楚为什么会发生这种情况(我有史以来的第一个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;
}
我猜您在项目的发布设置中指定了“命令行应用程序”。尝试以下操作:创建一个新项目(假设您是VisualStudio)并选择“GUI”作为项目类型。然后将设置与当前项目进行比较。
当Windows加载.exe时,它会查看元数据以确定它是CMD还是GUI应用程序。元数据由链接器写入。

就是这样。非常感谢。我没有意识到调试和发布没有共享设置。。。对于将来有此功能的任何人,请将项目设置->链接器->系统->子系统更改为“Windows”