Tom*_* M. 5 c++ qt visual-studio-2015
整个错误输出是:
LNK2019 unresolved external symbol wWinMain referenced in function "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) kachna-tracker C:\dev\kachna-tracker\MSVCRT.lib(exe_wwinmain.obj)
Run Code Online (Sandbox Code Playgroud)
这是从Qt Creator导入的项目,只有在我尝试构建Release版本时才会出现此错误,Debug版本运行得很好.据我所知,除了使用库的调试版本(例如qtmain.lib/ qtmaind.lib)之外,Debug和Release配置之间的链接器配置没有区别.
我发现这个错误可以固定由子系统设置/SUBSYSTEM:CONSOLE,而不是/SUBSYSTEM:WINDOWS,这确实不解决这个问题,但我建立一个GUI应用程序,一个永久打开控制台窗口是相当难看,也可能只修复了症状而不是原因.
如何解决这个错误?
TL; DR
或者:
qtmain库提供了Windows上WinMain函数的包装器,允许您定义跨平台的main()函数.但是目前,qtmain库不支持wWinMain函数(WinMain入口点的unicode版本).
也许你的Debug和Release版本之间的区别在于你在Release中启用了Unicode而不是在Debug中编译.
如果要在启用Unicode的情况下进行编译,则不应该与qtmain库链接,并且应该定义wWinMain而不是plain old main.
或者,您可以添加/ entry:mainCRTStartup链接器标志,以保持您的美观和标准主要功能.有关入口点的详细信息,请参阅此链接以获取更多信息和这个非常棒的答案.
| 归档时间: |
|
| 查看次数: |
3372 次 |
| 最近记录: |