VC6 链接问题 error LNK2001

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:09:51
我用VC6编一个D3D程序时出现如下的错误:
Linking...
TerrainBuilderDlg.obj : error LNK2001: unresolved external symbol _D3DXMatrixPerspectiveFovLH@20
Debug/TerrainBuilder.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

但是我已经在链接Project settings中加入了d3d9.lib。
也包含了d3dx9.h。
DX9的incloude和lib目录也添加进去了
为甚麽还会出问题呢?
顺便问下,我的已经是VC6.0 sp6了,为甚麽有时还会在无限地Linking...呢?

再补充:查了下,D3DXMatrixPerspectiveFovLH函数是在d3dx9dt.lib中,在Project settings里加上d3dx9dt.lib就好了。
还是感谢两位的回答,都考虑地很细致啊

检查d3d9.lib是不是存在于VC的安装目录下
1.你是不是Project setting的时候是Debug, 而编译时是release, 或者反过来?
2.在你调用D3DXMatrixPerspectiveFovLH的cpp文件中加入 #pragma comment( lib, "d3d9.lib.lib") 试试
Linking问题我也经常碰到. 杀死进程再开又可以重新编译通过, 你要知道了告诉我怎么解决的.

很明显,这是链接函数库问题,如果你以上的配置都是正确的,就看看你的头文件包含进去没?就是#includes<%……%>。如果还是不行,再看看你是不是有访问操纵D3DXMatrixPerspectiveFovLH()这些函数的权利,在vc中开发这些程序需要本地系统的权利而且在mmc中还要修改一些访问权限,我在做win32的程序时就是遇到以上的问题的