c++ - 当我编译 CLR C++ 应用程序的“发布”版本时,除了 GUI 之外,我还会弹出一个 cmd 窗口。我该如何解决这个问题?
问题描述
这是我的主要功能。我不太清楚为什么会发生这种情况(我的第一个 GUI 应用程序,在此之前我总是使用 CLI)。在进行 Debug 构建时不会发生这种情况,只有在 Release 构建时才会发生。我正在使用 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;
}
解决方案
我的猜测是您在项目的发布设置中指定了“命令行应用程序”。试试这个:创建一个新项目(假设您是 Visual Studio)并选择“GUI”作为您的项目类型。然后将设置与您当前的项目进行比较。当 Windows 加载 .exe 时,它会查看元数据以确定它是 CMD 还是 GUI 应用程序。元数据由链接器写入。
推荐阅读
- c# - 将多个选择表达式组合成动态类
- report - Sparx Enterprise Architect EA 15 - 如何在报告中包含决策表
- python - 当我将 groupby 对象转换为 dict 时,grouper 对象已用尽
- scala - Scalatest provide position different file for assertion
- mysql - 如果一个字段为 NULL,GROUP_CONCAT 返回一行 NULL
- android - 在 Android Studio 中签署应用程序时的证书信息
- apache-kafka - Kafka not starting up if zookeeper.set.acl is set to true
- c# - "Error: System.Data.OleDb.OleDbException (0x80004005): The following query has been corrupted: ''
- powershell - How to get exitcode from Powershell and return to CMD?
- excel - 如何解决在 laravel 中调用未定义方法 Maatwebsite\Excel\Excel::create()