visual-studio-2010 - Qt MinGW WIN32 到 Visual Studio 2010

标签 visual-studio-2010 qt mingw console-application windows-applications

我有一个通过 cmake 为 MinGW + Qt 创建的项目。 在 CMakeLists.txt 我有

add_executable (project-name WIN32 ${MOC_SRCS} ${HEADERS} ${SOURCES} ${RESOURCES} ${QtApp_RCC_SRCS})

如果我尝试将它编译到 VisualStudio 2010 中,我会收到以下链接器错误:

MSVCRTD.lib(crtexew.obj) : error LNK2019: undefined reference _WinMain@16 in func ___tmainCRTStartup

然后我擦掉WIN32

add_executable (project-name ${MOC_SRCS} ${HEADERS} ${SOURCES} ${RESOURCES} ${QtApp_RCC_SRCS})

该项目编译并运行良好,但我有一个带有 Qt 窗口的控制台窗口。如何禁用控制台?

最佳答案

在 add_executable 中使用 WIN32 意味着您的应用程序将属于 SUBSYSTEM:WINDOWS 类型.也就是说,不需要控制台的应用程序。如果指定了,则不是 main(...),而是 WinMain(...) (与 main 有不同的参数)是预期的。由于您的代码很可能没有此内容,因此您会收到报告的链接器错误。

删除 WIN32 意味着您的可执行文件将是默认类型 SUBSYSTEM:CONSOLE ,这解释了为什么您的应用程序可以运行,但会显示一个控制台。

因此,要修复它,请指定 WIN32,但将 main() 更改为 WinMain()

关于visual-studio-2010 - Qt MinGW WIN32 到 Visual Studio 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193771/

相关文章:

qt - 如何在pyqt中按名称查找对象?

c - 将 Visual C 链接到 MinGW 静态库

linker - mingw 链接器找不到 PathAppend

c++ - VS2010 中的 M_PI : working in Debug conf but not in Release

visual-studio-2010 - Python 错误 : command '...\Microsoft Visual Studio 10.0\\VC\\BIN\\cl.exe' failed with exit status 2

c++ - 链接 : fatal error LNK1104: cannot open file 'libcollada14dom21.lib'

c++ - OpenNI2.0 - 尝试在 Visual Studio 中构建包含的示例项目时出现 LNK 错误

c++ - 如何在 QGraphicsView 中平移图像

c++ - Qt - 编译器在我的 MainWindow 上调用 setLayout() 时报错

c++ - 在后台运行函数直到完成 MinGW + Windows