【发布时间】:2014-12-08 17:51:42
【问题描述】:
如果您尝试将构建类型从 Console (/SUBSYSTEM:CONSOLE) 更改为 Windows (/SUBSYSTEM:WINDOWS),您将收到一条错误消息,提示缺少入口点 WinMain:
我认为解决此问题的最佳方法是从WinMain 致电您的普通int main(int, char**):
#ifdef _WINDOWS_
INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR lpCmdLine, INT nCmdShow)
{
return main(0, NULL);
}
#endif
问题是 ImageMagick 正在使用控制台参数(我计划将来也使用它们):
所以传递NULL 和0 可能不是一个好主意。如何将 WinMain 参数转换为 main 参数?
【问题讨论】:
-
argv数组必须由NULL指针终止,因此argv[argc]始终是一个有效的表达式并且是一个NULL指针,这意味着您必须创建一个数组一个条目,它是一个NULL指针并作为第二个参数传递给main。 -
这将解决崩溃,但仍然不会将真正的参数传递给我的函数。还是谢谢你。
-
@RSahu 我已经在打开的标签中。但它并没有真正回答这个问题 - 或者是吗?
-
它立即对我有用,但里程可能会有所不同,并且没有特定的“正确”方式来做任何事情,只有适合您的方式。祝你好运。