c++ - 当我编译 CLR C++ 应用程序的 "release"版本时,除了 GUI 之外,还会弹出一个 cmd 窗口。我该如何解决这个问题?

标签 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()
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Project::MyForm form;
    Application::Run(%form);

    return 0;
}

最佳答案

我的猜测是您在项目的发布设置中指定了“命令行应用程序”。试试这个:创建一个新项目(假设您是 Visual Studio)并选择“GUI”作为您的项目类型。然后将设置与当前项目进行比较。 当 Windows 加载 .exe 时,它​​会查看元数据以确定它是 CMD 还是 GUI 应用程序。元数据由链接器写入。

关于c++ - 当我编译 CLR C++ 应用程序的 "release"版本时,除了 GUI 之外,还会弹出一个 cmd 窗口。我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51007731/

相关文章:

c++ - Microsoft Visual C++ 2010 Express - 正确代码中的错误

sql-server - SQL Server 2008 CLR 与 T-SQL : Is there an efficiency/speed difference?

c# - .NET 空闲内存使用(如何防止过度分配/释放内存给操作系统)

c++ - 检查一个文本文件中的单词是否在第二个文本文件中 (C++)

c++ - 组合 Lua 二进制文件

opengl - fatal error : GL/glfw. h:不存在这样的文件或目录

C# - 具有 new() 约束的泛型如何生成机器码?

c++ - Gof 设计模式书的新替代品:uml MDD with C++

c++ - 强制使通用模板失败,但允许特化,加上 "method exists dispatching"

c++ - 重载运算符 - () 作为自由函数而不是成员函数的意义?