我写了个directDraw的程序,出现以下错误
--------------------Configuration: ddraw1 - Win32 Debug--------------------
Compiling...
ddraw1.cpp
Ddraw1Wnd.cpp
StdAfx.cpp
Linking...
ddraw1.obj : error LNK2001: unresolved external symbol _DirectDrawCreate@12
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/ddraw1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.ddraw1.exe - 4 error(s), 0 warning(s)
这是为何呀?
--------------------Configuration: ddraw1 - Win32 Debug--------------------
Compiling...
ddraw1.cpp
Ddraw1Wnd.cpp
StdAfx.cpp
Linking...
ddraw1.obj : error LNK2001: unresolved external symbol _DirectDrawCreate@12
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/ddraw1.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.ddraw1.exe - 4 error(s), 0 warning(s)
这是为何呀?
解决方案 »
- 怎么将EVC模拟器编译好的文件放到真实windows CE系统里
- 怎么通过代码来创建个网络连接呢!在线等待
- DirectX如何调用显卡,实现tereo显示?
- 我加的IE按钮不响应 已经加了IOleCommandTarget::Exec()了啊
- 关于弹出一个对话框的问题。
- 调用CSocket的Close函数时出现错误,请大家过来看看,在线等待,谢谢!
- 定义 CWnd 与 CRect 的头文件 是哪个? AFXWIN.H ?
- 新手上路到处都是问题,可能请教前辈更快吧。如何对vector 中的数据进行更快捷的查找?
- 生成工程时,忘了选择winsock支持,怎样来弥补?
- 请教:怎么修改CComboBox的风格?
- 关于如何在视图里面实现诸如 QQ 游戏大厅的游戏桌循环显示的方法
- 请问:使用VPN在广域网上联接的两个局域网之间,能不能用UDP协议通讯?
看来不是你说的问题了。
看你的报错消息,可以看出,编译是通过了的,是Link的时候出了错。我DirectDraw不熟悉啦,不过我想应当是少加了库文件。
#include <ddraw.h>
然后在Project/setting/link/第二行里面有很多.lib文件对不?加入dxguid.lib ddraw.lib这两个进去应该就OK了!如果还有问题请加我QQ20538358!!
菜单项/Project/Setting/ 这样打开了一个属性框,你选Link这一页,在Object/Library models...里面写上ddraw.lib就可以了。至于还有什么别的文件,你得看看书了。
-------------------Configuration: ddraw1 - Win32 Debug--------------------
Compiling...
ddraw1.cpp
Ddraw1Wnd.cpp
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/ddraw1.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.ddraw1.exe - 3 error(s), 0 warning(s)
LIBCMT.LIB
MSVCRT.LIB
另外,我是加的这两个库函数,你也加进去试试,反正少加了会错,多加了绝对不会有事的,呵呵:
strmiids.lib Quartz.lib
另外还要在Tools/Options/Directories下将"Show directores for"选为Include files,然后在下面加你DirectX的路径\Include
菩萨保佑你。
所有的连接库加上出现:
--------------------Configuration: ddraw1 - Win32 Debug--------------------
Linking...
libcd.lib(dbgheap.obj) : error LNK2005: _malloc already defined in libcmt.lib(malloc.obj)
libcd.lib(dbgheap.obj) : error LNK2005: __nh_malloc already defined in libcmt.lib(malloc.obj)
libcd.lib(dbgheap.obj) : error LNK2005: __heap_alloc already defined in libcmt.lib(malloc.obj)
libcd.lib(dbgheap.obj) : error LNK2005: _calloc already defined in libcmt.lib(calloc.obj)
libcd.lib(dbgheap.obj) : error LNK2005: _realloc already defined in libcmt.lib(realloc.obj)
libcd.lib(dbgheap.obj) : error LNK2005: _free already defined in libcmt.lib(free.obj)
libcd.lib(dbgheap.obj) : error LNK2005: __msize already defined in libcmt.lib(msize.obj)
libcd.lib(sbheap.obj) : error LNK2005: __get_sbh_threshold already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: __set_sbh_threshold already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_heap_init already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_find_block already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_free_block already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_block already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_region already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_group already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_resize_block already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_heapmin already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_heap_check already defined in libcmt.lib(sbheap.obj)
libcd.lib(sbheap.obj) : error LNK2005: ___sbh_threshold already defined in libcmt.lib(sbheap.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: _exit already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __exit already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __cexit already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __c_exit already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __C_Exit_Done already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __exitflag already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __wpgmptr already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __pgmptr already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: ___winitenv already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __wenviron already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: ___initenv already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __environ already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: ___wargv already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: ___argv already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: ___argc already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __winminor already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __winmajor already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __winver already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __osver already defined in libcmt.lib(crt0dat.obj)
libcd.lib(crt0dat.obj) : error LNK2005: __umaskval already defined in libcmt.lib(crt0dat.obj)
libcd.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in libcmt.lib(winxfltr.obj)
libcd.lib(winxfltr.obj) : error LNK2005: __XcptActTabCount already defined in libcmt.lib(winxfltr.obj)
libcd.lib(winxfltr.obj) : error LNK2005: __Num_FPE already defined in libcmt.lib(winxfltr.obj)
libcd.lib(winxfltr.obj) : error LNK2005: __First_FPE_Indx already defined in libcmt.lib(winxfltr.obj)
libcd.lib(winxfltr.obj) : error LNK2005: __XcptActTab already defined in libcmt.lib(winxfltr.obj)
LINK : warning LNK4098: defaultlib "libcd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
Debug/ddraw1.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.ddraw1.exe - 47 error(s), 1 warning(s)