我将Visual项目作为一个windows应用程序启动,但是我意识到,如果我想使用GLFW,那么我应该打开一个GLFW窗口,而不是一个标准的wWinMain窗口。我有一个wWinMain函数,但由于它每次运行这个程序而不是我的int main()
函数时,都会使用GLFW窗口测试代码,所以我更改了wWinMain函数的名称,希望在构建程序时它会遵从我编写的main()函数。然而,它没有起作用,相反,我一直收到同样的错误:
error LNK2019: unresolved external symbol WinMain referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
如何让它停止寻找wWinMain函数,而只运行main()函数?
到目前为止,唯一有效的解决方案是将main()函数重命名为wWinMain,并让它接受所有变量,但对它们不做任何操作,只是在内部正常运行代码,但是这看起来并不理想。
我也尝试过建议的答案( here ),但这总是会打开一个带有GLFW窗口的命令窗口,而对于默认情况下的wWinMain函数,除非我专门使用AllocConsole(),否则将不运行它,所以我怀疑答案表明实际上没有正确的解决方案。
我也尝试过向here展示的解决方案,但这对我不起作用吗?也许我把它搞错了
发布于 2022-07-23 14:31:45
我只想补充一下
int WinMain() {
return main();
}
在你的main()
函数之后。这样,如果您在Windows子系统和控制台子系统之间切换,它将双向工作。
https://stackoverflow.com/questions/72311949
复制相似问题