Q1 MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStart
Reason:在创建应用程序时选择了错误的应用程序类型。如,开发人员创建了一个新的Win32应用程序项目,并给这个项目创建了一个入口函数main。在这种情况下,创建应用程序时,开发人员就会看到一个连接程序的错误信息。这是因为Win32应用程序项目设置了/subsystem:windows连接程序开关,但是却找不到相应的Winmain或者wWinmain函数。
Answer:右键项目–>属性–>-链接器–>系统–>子系统,将/subsystem:windows改成/subsystem:Console
Q2 用VS2010进行CMAKE的时候“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”
A:
- 项目|项目属性|配置属性|清单工具|输入和输出|嵌入清单 “是”改为“否”即可,但是没新建一个项目都要这样设置一次。
- 还存在问题,计算机是否为64bit操作系统,如果是,查找是否有两个cvtres.exe。
- C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe,
- C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe。右键属性|详细信息 查看两者版本号,删除/重命名较旧的版本,或者重新设置Path变量。
Q3 模块计算机类型x64与目标计算机类型X86冲突,
A:
- 首先确定VS需要是64位编译支持,如果不是,需要补充安装组件X64编译器和工具
- 右键项目名–>属性–>链接器–>高级,修改右侧的目标计算机,选择MachineX64 (/MACHINE:X64)。
- 右键解决方案->属性,将平台选为X64,若无此选项,则点击配置管理器,选择X64平台,新建一个X64平台并选中(新建 X64 平台。点击配置管理器->新建。在接下的子对话框中选择 X64 后点击 确定)。
参考经验:
http://blog.sina.com.cn/s/blog_7e69c8440102vcod.html
http://blog.sina.com.cn/s/blog_685febef01011bvv.html
http://jingyan.baidu.com/album/3aed632e090ef87010809138.html?picindex=2
http://www.cnblogs.com/zklidd/p/3838187.html