<分区>
我使用 Atom 作为我的编辑器,我有 g++ 编译器来编译我的 C++ 文件。
有问题的代码片段是:
bool openComPort(wchar_t* portSpecifier)
{
DCB dcb;
// Open Serial Port
wprintf(L"Opening COM PORT: %s",portSpecifier);
printf("\n");
serialPort = CreateFile(portSpecifier,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if (serialPort == INVALID_HANDLE_VALUE)
{
wprintf(L"Error opening Serial port: %s\n",portSpecifier);
return(false);
}
...
return true;
}
如果我想编译它,我总是得到错误:
error: cannot convert 'wchar_t' to 'LPCSTR' {aka 'const char'} serialPort = CreateFile(portSpecifier,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
我读过它应该与 Windows 和 UNICODE 或 ASCII 有关。
我通过按 ctrl+shift+U 并选择 UTF-8 确保 Atom 使用 UNICODE。
一开始我尝试#define UNICODE
。没用。
我尝试过其他线程的不同解决方案,例如:
(_TCHAR*)wprintf(L"Opening COM PORT: %s",portSpecifier);
我仍然总是得到同样的错误。您对如何解决这个问题有什么建议吗?