【发布时间】:2020-06-02 05:35:08
【问题描述】:
我想创建一个新的 c++ 项目并开始编码。我正在使用包含 30 多个项目的现有解决方案。因此使用 GwMain(..) 代替 main()。这适用于所有其他文件,但不适用于我创建新的 c++ 项目时。我收到链接器错误:
LNK2019 unresolved external symbol _main referenced in function "int__cdel invoke_main(void)" (?invoke_main@@YAHXZ)
File: MSVCRTD.lib(exe_main.obj)
- 我已经将属性配置与其他项目进行了比较,并且 几乎一样。解决方案是从visual studio迁移过来的 2012 到 2019 我想这是它不起作用的原因之一 应该怎么做。
-
我已经检查了这个:链接器->系统->子系统-> Windows。
当我将它从控制台更改为 Windows 时,它会显示:
LNK2019 未解析的外部符号 _WinMain 在函数中引用 "int__cdel invoke_main(void)" (?invoke_main@@YAHXZ)
- 而且我不使用 cmake
- 当我使用 int main(){return 0;} 时,我没有收到任何错误,但我必须使用 GwMain()
- 当我在高级下更改入口点时,我实际上得到了更多 错误。我尝试插入 GwMain。
代码是这样的:
#include <gwcore.hpp>
#include <gw.hpp>
int GwMain(int, char**)
{
return 0;
}
这里使用了 Grit 一个非常古老的框架。
【问题讨论】:
-
我很确定问题是您没有正确链接到打算使用的任何 GW 库。我不知道那是什么,但
GwMain将从库main函数中调用(大概被一些需要在GwMain之前/之后运行的初始化和/或拆卸代码包围。我是对此不熟悉,并且多年没有为 Windows 编写代码。
标签: c++ main visual-studio-2019 entry-point