比较VS

时间:2017-06-07 14:03:36

标签: visual-studio visual-studio-2015 kinect kinect-sdk

我想创建一个与kinect v2标准代码相同代码的新项目 我在Visual Studio中创建了一个新项目,并将另一个项目的示例文件副本添加到一个新目录中,并将其添加到我的项目中。 我还添加了所有标题等 然后尝试编译它,它会产生很多错误!但它在示例项目中工作正常 CPP文件和标题都是一样的 那有什么不对呢? 我将VC ++目录中的Include目录更改为$(KINECTSDK20_DIR)\ inc; $(IncludePath)并且一些错误消失但仍有错误!
这些是错误:

HCURSOR LoadCursorW(HINSTANCE,LPCWSTR)
HICON LoadIconW(HINSTANCE,LPCWSTR)
'=': cannot convert from 'const wchar_t [25]' to 'LPCSTR'
'ATOM RegisterClassW(const WNDCLASSW *)': cannot convert argument 1 from 'WNDCLASS *' to 'const WNDCLASSW *'
'HWND CreateDialogParamW(HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM)': cannot convert argument 2 from 'LPSTR' to 'LPCWSTR'
'HRESULT StringCchPrintfA(STRSAFE_LPSTR,std::size_t,STRSAFE_LPCSTR,...)': cannot convert argument 1 from 'WCHAR [64]' to 'STRSAFE_LPSTR'
'BOOL SetDlgItemTextA(HWND,int,LPCSTR)': cannot convert argument 3 from 'WCHAR *' to 'LPCSTR'

提前抱歉我的英语语法不好!

1 个答案:

答案 0 :(得分:0)

您的项目肯定有错误的字符集设置。您可以找到如何更改它here

死亡赠品有很多cannot convert 'WCHAR *' to 'LPCSTR'和类似的。 WCHAR*LPWSTRLPWSTR将转换为LPCWSTR 1 ,但不转换为LPCSTR - 这通常意味着将宽字符文字传递给解析为a的函数当前项目设置下的窄字符版本。

精心编写的项目可以在两种设置下进行编译,但大部分时间只使用其中一项,因此必须在构建之前正确选择。

1 你可以在需要const的地方传递非const,但你不能改变指向的字符类型。