龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

vc中的使用技巧和常见错误(5)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
问题4:关于工程类型的错误 libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main 答: 建了console工程,但是主函数写成了winmain, Windows项目要使用Windows子

问题4:关于工程类型的错误

libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

答:
 
 建了console工程,但是主函数写成了winmain,

 Windows项目要使用Windows子系统, 而不是Console, 可以这样设置:
[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:console改成/subsystem:windows
这样就把工程改该成了win32的工程,

如果要保留成console工程,只要把主函数改成main

问题5:关于工程类型的错误

提示:
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16

答:
 
 建了win32工程,但是主函数写成了main,

 控制台项目要使用Console子系统, 而不是Windows, 设置:
[Project] --> [Settings] --> 选择"Link"属性页,
在Project Options中将/subsystem:windows改成/subsystem:console

这样就把工程改成了console工程

如果要保留win32工程,只要把主函数改成winmain

问题6  程序入口设置错误, 提示:

msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
通常, MFC项目的程序入口函数是WinMain, 如果编译项目的Unicode版本, 程序入口必须改为wWinMainCRTStartup, 所以需要重新设置程序入口

:
[Project] --> [Settings] --> 选择"C/C++"属性页,
在Category中选择Output,
再在Entry-point symbol中填入wWinMainCRTStartup, 即可

问题7:LNK2001错误,如error LNK2001: unresolved external symbol ………………

   一般这种错误是没有把需要的某些lib加到你的工程里面
   这里举个例子吧
   error LNK2001: unresolved external symbol __imp__waveOutGetNumDevs@0
 
   看到这种错误,去msdn查一下waveOutGetNumDevs这个函数,然后看最后的Requirements

    Requirements
    Windows NT/2000/XP: Included in Windows NT 3.1 and later.
    Windows 95/98/Me: Included in Windows 95 and later.
    Header: Declared in Mmsystem.h; include Windows.h.
    Library: Use Winmm.lib.

精彩图集

赞助商链接