问题
I am getting this error:
cannot convert parameter 2 from 'const char [14]' to 'LPCWSTR'
With the code below. It is supposed to be C but at best visual studio 2012 offers an empty c++ project:
#include "windows.h"
int WINAPI WinMain (HINSTANCE hinst, HINSTANCE hprevinst, LPSTR cmdline, int showcmd)
{
MessageBox(NULL, "Merhaba Dunya", "Merhaba", MB_OK);
return 0;
}
What is incorrect?
回答1:
It seems your current settings are set up so that WinAPI functions expect wide strings:
MessageBox(NULL, L"Merhaba Dunya", L"Merhaba", MB_OK);
回答2:
Right click on your project, go to properties under configuration properties -> General and change character set to Use multi-byte character set.
回答3:
There steps below worked for me:
- Right click on your Project in Solution Window, then select Properties menu item.
- Click on General under "Configuration Properties" in Property Pages
- At "Character Set" setting: change "Use Unicode Character Set" to "Use Multi-Byte Character Set", then click on OK button
- Rebuild your project to see how it works
来源:https://stackoverflow.com/questions/15592906/cannot-convert-parameter-2-from-const-char-14-to-lpcwstr