未解决的链接错误[关闭]
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 的发布版本时,为啥会出现未解决的外部错误?