0

使用 VS2017 我使用unicode字符集编译下面的代码

STDMETHODIMP Load(LPCOLESTR lpwszFileName, const AM_MEDIA_TYPE *pmt) {
 TCHAR *szExtension = PathFindExtension(lpwszFileName);

我收到以下错误

error C2664: 'LPSTR PathFindExtensionA(LPCSTR)': cannot convert argument 1 from 'LPCOLESTR' to 'LPCSTR'

VS2008下的相同代码编译就好了。这里似乎有什么问题,为什么编译器选择 ANSI 版本的PathFindExtenstion而不是 unicode 版本?

4

1 回答 1

0

问题是 VS2017 变量

%(预处理器定义)

预处理器定义中缺少。现在定义器/D _UNICODE/D UNICODE已正确添加到编译器参数列表中。

缺少 %(PreprocessorDefinitions)

于 2018-04-16T14:52:51.330 回答