未解决的链接错误[关闭]

Posted

技术标签:

【中文标题】未解决的链接错误[关闭]【英文标题】:Unresolved Link Error [closed] 【发布时间】:2013-02-06 16:18:08 【问题描述】:

我在尝试编译时收到此错误。

error LNK2019: unresolved external symbol "public: void __thiscall Serial::WritePort(char * const)" (?WritePort@Serial@@QAEXQAD@Z) referenced in function "public: void __thiscall CThermotronDlg::OnBnClickedButton2(void)" (?OnBnClickedButton2@CThermotronDlg@@QAEXXZ)

我已经包含了所有必需的头文件,但是当我尝试在我的主 dialog.cpp 中调用我的 WritePort 函数(位于我的 sConfig.cpp 中)时,我收到了这个链接错误。此外,每个 .cpp 文件都在同一个文件夹中,所以我不想在下面的不同位置引用文件是用于 WritePort 函数和它被调用的块。

写端口

void WritePort(char buffer[])


HANDLE sSerial = CreateFile(L"COM3",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
OpenPort();
DWORD bytes;
WriteFile(sSerial, buffer,sizeof(buffer),&bytes,NULL);

阻止

void CThermotronDlg::OnBnClickedButton2()

CString str; str.Format(L"%d",Index);
LPTSTR Dwell = new TCHAR[1000];
USES_CONVERSION;
char* buffer =T2A(Dwell);
MyListEx.GetItemText(Index,1,Dwell,1000);

Serial Port;
Port.WritePort(buffer);


AfxMessageBox(Dwell,MB_OK,NULL);

【问题讨论】:

某事告诉我看到Serial 的实现或更重要的是,缺少任何Serial::WritePort 实现的代码(注意类限定符)会导致您遇到问题,并最终解决它。 【参考方案1】:

不应该

void WritePort(char buffer[])

成为

void Serial::WritePort(char buffer[])

?

【讨论】:

谢谢你我真是个白痴。【参考方案2】:

函数WritePort 需要是Serial 类的一部分,因为您将其用作Port.WritePort(buffer) 而不是WritePort(buffer)

void Serial::WritePort(char buffer[])

bool umm;
HANDLE sSerial = CreateFile(L"COM3",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
OpenPort();
DWORD bytes;
umm = WriteFile(sSerial, buffer,sizeof(buffer),&bytes,NULL);

【讨论】:

以上是关于未解决的链接错误[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 React Native iOS 链接错误:: 'ReactNativeNavigation/ReactNativeNavigation.h' 文件未找到?

单个对象的未解决的外部符号链接错误

当我想在 C++ Builder Starter 中链接静态库 TinyXML 2 的发布版本时,为啥会出现未解决的外部错误?

XE6 Ansi/Unicode 字符串链接器错误(未解决的外部问题)

“无法读取未定义的属性 'uid'”错误 - 格子链接令牌

未绑定主窗体上的列表框链接到绑定子窗体产生 3021(无当前记录)错误