如何告诉link.exe使用wmain作为入口点.LNK2019:函数__tmainCRTStartup中引用的未解析外
How to tell link.exe to use wmain as entry point. LNK2019: unresolved external symbol main referenced in function __tmainCRTStartup
我有一个项目通过visualstudio构建和链接,但不是通过我们的构建系统。
据我所知,如果定义了UNICODE,tchar.h包含一个将_tmain转换为wmain的宏。我已经检查了预处理器的输出,事实上_tmain已经被wmain替换了。然后,包含wmain的文件编译得很好,但链接器抱怨main未定义。
LNK2019:函数__tmainCRTStartup 中引用的未解析外部符号主
wmain是否被另一组我没有正确包含的宏(由于缺少-D选项等)转换为main,或者link.exe是否有指定入口点的特殊标志。
谢谢。
手动指定/输入:mainCRTStartup修复了它。
编辑:我刚刚检查了main.obj文件。wmain是明确定义的。
MSVC使用一个特殊的运行时启动,即所谓的预期入口点wmain()
、WinMain()
等。
这些名字绝对没有什么神奇之处。如果你没有MSVC启动源代码,实现你自己的启动模块来满足你的需求:
int main (int argc, char **argv, char **envp)
{
wchar_t **w_argv = some_conversion_function (argc, argv);
wchar_t **w_envp = some_conversion_function (some_count_function (envp), envp);
return wmain (argc, w_argv, w_envp);
}
这里我将some_conversion_function()
和some_count_function()
的实现留给您。
相关文章:
- 没有找到相关文章