OPENCV UWP构建失败

OpenCV UWP build fails

本文关键字:失败 构建 UWP OPENCV      更新时间:2023-10-16

我克隆了OpenCV的官方github存储库,并使用cmake生成了VS解决方案。

 cmake -G "Visual Studio 14 2015" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0" .

如您所见,我想为UWP 32位构建OpenCV。在VS 2015中构建时,OPENCV_CORE模块失败了:

Error   C2664   'BOOL CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES)': cannot convert argument 1 from 'wchar_t [260]' to 'LPCSTR'
Error   C2039   'CreateFileA': is not a member of '`global namespace''  
Error   C3861   'CreateFileA': identifier not found
Error   C2664   'DWORD GetTempPathW(DWORD,LPWSTR)': cannot convert argument 2 from 'char [261]' to 'LPWSTR'

所有这些错误都在" filesystem.cpp"中的opencv_core中。现在,在我不得不重新格式化PC之前,我已经成功地构建了它。知道如何解决这些。这些问题是否与Windows 10 SDK有关?

看起来您正在混合UNICODE和非UNICODE构建。确保它们保持一致,并使用正确的字符串类型(如果愿意,请使用TEXT()宏)。

要验证,请右键单击VS中的项目,然后选择属性,然后展开 c/c -> PrepRocessor 并检查<<strong>预处理器定义。单击该值旁边的下箭头,然后单击&lt; edit&gt; ,然后验证UNICODE_UNICODE均已定义。如果没有,请添加它们。您需要为每种配置重复此操作(您可以尝试选择"全部",但是如果您的选项相互冲突,可能会弄乱事情)。

对于最后一个错误,将声明从char更改为wchar_t