【问题标题】:Cannot convert parameter 2 from 'const char [14]' to 'LPCWSTR'无法将参数 2 从“const char [14]”转换为“LPCWSTR”
【发布时间】:2013-03-23 22:36:35
【问题描述】:

我收到此错误:

cannot convert parameter 2 from 'const char [14]' to 'LPCWSTR'

使用下面的代码。它应该是 C,但最好的 Visual Studio 2012 提供了一个空的 C++ 项目:

#include "windows.h"

int WINAPI WinMain (HINSTANCE hinst, HINSTANCE hprevinst, LPSTR cmdline, int showcmd)
{
    MessageBox(NULL, "Merhaba Dunya", "Merhaba", MB_OK);
    return 0;
}

什么不正确?

【问题讨论】:

  • @FlorisVelleman 你比我快 9 秒!

标签: c visual-studio-2012 lpcwstr


【解决方案1】:

您当前的设置似乎已设置为 WinAPI 函数需要宽字符串:

MessageBox(NULL, L"Merhaba Dunya", L"Merhaba", MB_OK);

【讨论】:

  • 谢谢,但仍然无法正常工作。好像我需要获得原生 C IDE。
  • @MonsterMMORPG 我不知道你的意思是什么……什么是“本机 C IDE”?这与 IDE 有什么关系?
【解决方案2】:

右键单击您的项目,转到配置属性下的属性 -> 常规并将字符集更改为使用多字节字符集。

【讨论】:

    【解决方案3】:

    以下步骤对我有用:

    1. 在解决方案窗口中右键单击您的项目,然后选择属性菜单项。
    2. 在属性页的“配置属性”下单击常规
    3. 在“字符集”设置中:将“使用 Unicode 字符集”更改为“使用多字节字符集”,然后单击“确定”按钮
    4. 重建您的项目,看看它是如何工作的

    【讨论】:

      猜你喜欢
      • 2011-07-25
      • 1970-01-01
      • 2018-06-08
      • 2016-07-06
      • 2021-03-01
      • 1970-01-01
      • 2017-03-31
      • 2020-04-04
      • 2011-07-25
      相关资源
      最近更新 更多