MSVS

移植PEDIY上的小项目时出了点问题

1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中引用了该符号

这个错误其实是找不到main函数(应该也可以说成入口点),这和VistualStudio的设置有关系。

查了一下百度,没错,这次百度挺给力。


project –> setting –> C/C++ –> preprocessor(预处理器) –>更改为”_WINDOWS”,或者”_CONSOLE”

project –> setting –> link –> All Options –> subsystem 更改为”控制台 (/SUBSYSTEM:CONSOLE)”或者”窗口 (/SUBSYSTEM:WINDOWS)”.


不过话说点两下就好了,hha。
最后总结一下:

main 入口的话用 consoleWinMain 入口用 windows。看上去比较好理解,但是实际编译器做了什么操作还是值得深思的

========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========

好久之后回过头来看我以前写的,确实只是一个编译器参数,编译器的学习路还长哈哈。

也可以在源代码中配置
#pragma comment(linker, “/SUBSYSTEM:windows /ENTRY:mainCRTStartup”)