error LNK2001: 无法解析的外部符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error LNK2001: 无法解析的外部符号相关的知识,希望对你有一定的参考价值。

这是我在 vs2008 下写的 聊天程序(就视频里的那个 Chat ,视频里是用VC6.0下写的) 时发生错误。

error LNK2001: 无法解析的外部符号 "protected: long __thiscall CCChatDlg::OnRecvData(unsigned int,long)" (?OnRecvData@CCChatDlg@@IAEJIJ@Z)

问题出在 afx_msg LRESULT OnRecvData(WPARAM wParam, LPARAM lParam);
这里和 ON_MESSAGE(WM_RECVDATA,OnRecvData)这里。
在上面 也定义了#define WM_RECVDATA WM_USER+1 。。。。。。。。。。。
是不是 版本问题啊?要怎么解决呢?

afx_msg LRESULT OnRecvData(WPARAM wParam, LPARAM lParam);
这个函数只有声明,没有实现
参考技术A 楼上正解,注意你写声明的时候有没有写对。

error LNK2001: 无法解析的外部符号

1>正在链接...
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _GUID_Download
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _GUID_StandardMIDIFile
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectMusicSegment
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _CLSID_DirectMusicSegment
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _GUID_DirectMusicAllTypes
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _GUID_Unload
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _CLSID_DirectMusicLoader
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectMusicLoader
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _CLSID_DirectMusicPerformance
1>DirectAudio.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectMusicPerformance
怎么解决
.lib文件的路径设好了的
#pragma comment(lib, "dsound.lib")

参考技术A int
c,m[];一句中必须给m数组一个常量表示的长度,比如int
c,m[32];
不能在方括号中用变量来表示元素的个数,但是可以用符号常数或常量表达式。
我估计你是想实现一个动态数组,推荐你使用vector实现。
参考技术B 你的ctestdlg的析构函数,只有函数名称,但没有具体的实现。所以链接时,无法找到函数的执行体。
缺少下面这个语句:
ctestdlg::~ctestdlg(void)

参考技术C .lib文件的路径设好没有?看样子是directX的库文件找不到。本回答被提问者采纳 参考技术D 是不是该obj文件损坏?

以上是关于error LNK2001: 无法解析的外部符号的主要内容,如果未能解决你的问题,请参考以下文章

error LNK2001: 无法解析的外部符号

error LNK2001: 无法解析的外部符号

mfc error LNK2001:无法解析的外部符号。

C++ error LNK2001: 无法解析的外部符号

error LNK2019: 无法解析的外部符号 WinMain,error LNK2001: 无法解析的外部符号 WinMain

error LNK2001: 无法解析的外部符号