0

コンパイルしようとすると、このエラーが発生します。

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);

}

4

2 に答える 2

2

すべきではない

void WritePort(char buffer[])

なれ

void Serial::WritePort(char buffer[])

?

于 2013-02-06T16:20:18.520 に答える
1

関数はクラスのWritePort一部である必要があります。SerialPort.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);
}
于 2013-02-06T16:20:14.417 に答える