无法解析的外部符号 _main解决办法(转)
2010-06-07 23:27
316 查看
许多新手在编程时经常遇到“无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”这样的错误,最近看了一些这方面的书籍,现将解决方案大概叙述一下:
连接程序在负责连接可执行程序时,选择相应的c/c++运行时启动函数。如果设定了/subsystem:windows连接程序开关,那么连接程序会试图寻找WinMain或wWinMain函数。如果连个函数都不存在,那么就会返回一个“一个未解决的外部符号”(无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用)
同样,如果设定了/subsystem:console连接程序开关,那么连接程序就会试图寻找main函数或者wmain函数,如果找不到这连个函数是,连接程序返回unresolved externel symbol错误信息。
通常新手容易犯的一个错误是,创建应用程序时选择了错误的应用程序类型。例如,开发人员创建了一个新的Win32应用程序项目,并给这个项目创建了一个入口函数main。在这种情况下,创建应用程序时,开发人员就会看到一个连接程序的错误信息。这是因为Win32应用程序项目设置了/subsystem:windows连接程序开关,但是却找不到相应的Winmain或者wWinmain函数。这时候你可以有以下几种解决方案。
1 将main函数改为Winmain函数
2 将/subsystem:windows开关改为/subsytem:console
3全部删除/subsytem:windows开关,让连接程序根据源代码中实现的函数进行正确的操作。
更改/subsystem:windows的方法:
右键点击项目,选择属性,会看到如下的选项框,点击连接器->系统,在右侧会看到“子系统”选项,在这里可以选择相应的连接程序开关
连接程序在负责连接可执行程序时,选择相应的c/c++运行时启动函数。如果设定了/subsystem:windows连接程序开关,那么连接程序会试图寻找WinMain或wWinMain函数。如果连个函数都不存在,那么就会返回一个“一个未解决的外部符号”(无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用)
同样,如果设定了/subsystem:console连接程序开关,那么连接程序就会试图寻找main函数或者wmain函数,如果找不到这连个函数是,连接程序返回unresolved externel symbol错误信息。
通常新手容易犯的一个错误是,创建应用程序时选择了错误的应用程序类型。例如,开发人员创建了一个新的Win32应用程序项目,并给这个项目创建了一个入口函数main。在这种情况下,创建应用程序时,开发人员就会看到一个连接程序的错误信息。这是因为Win32应用程序项目设置了/subsystem:windows连接程序开关,但是却找不到相应的Winmain或者wWinmain函数。这时候你可以有以下几种解决方案。
1 将main函数改为Winmain函数
2 将/subsystem:windows开关改为/subsytem:console
3全部删除/subsytem:windows开关,让连接程序根据源代码中实现的函数进行正确的操作。
更改/subsystem:windows的方法:
右键点击项目,选择属性,会看到如下的选项框,点击连接器->系统,在右侧会看到“子系统”选项,在这里可以选择相应的连接程序开关
相关文章推荐
- 无法解析的外部符号 _main解决办法
- MSVCRTD.lib(crtexe.obj):无法解析的外部符号 _main,该符号在函数 ___tmainCRTStart的解决办法
- QT 无法解析的外部符号 _main解决办法
- 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 解决办法
- VC6.0工程升级到VS2010遇到问题及解决办法 【LNK2019】 无法解析的外部符号 __iob
- APR lib 链接出现”error LNK2019: 无法解析的外部符号 __imp__apr_initialize“ 解决办法
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- lnk2001 无法解析的外部符号 的几种情况及解决办法
- Qt5 error LNK2019 无法解析的外部符号 解决办法
- 无法解析的外部符号 "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)"的解决办法
- 编译sdl项目时出现无法解析的外部符号 __imp__fprintf解决办法
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- Qt 在VS下使用添加新类后报错LNK2019无法解析的外部符号解决办法
- error LINK2001无法解析的外部符号解决办法
- 配置openmesh总是出现error LNK2019: 无法解析的外部符号此类问题的解决办法
- 在cocos2dx2.2.3中遇到的error LNK2019: 无法解析的外部符号 _libiconv_closexxxxxxx的解决办法
- 错误 1 error LNK2019: 无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用 解决方法
- 在cocos2dx2.2.3中遇到的error LNK2019: 无法解析的外部符号 _libiconv_closexxxxxxx的解决办法