'CreateDirectoryW':无法在 OpenCV 2.4.5 和 VS 2010 中将参数 1 从 'const char *' 转换为 'LPCWSTR'

2023-12-01

我正在尝试从 openCV 2.4.5 到 Visual Studio 2010(基于 VC++)的示例代码 bagofwords_classification.cpp。但我发现了错误代码:

error C2664: 'CreateDirectoryW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR'   

你能帮我解决这个问题吗?谢谢。 :)

更新v1:

static void makeDir( const string& dir )
{
#if defined WIN32 || defined _WIN32
    CreateDirectory( dir.c_str(), 0 );
#else
    mkdir( dir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH );
#endif
}

static void makeUsedDirs( const string& rootPath )
{
    makeDir(rootPath + bowImageDescriptorsDir);
    makeDir(rootPath + svmsDir);
    makeDir(rootPath + plotsDir);
}

你有调用的代码CreateDirectory. When UNICODE被定义,该符号实际上是一个宏CreateDirectoryW;目的是让您在使用时使用“不明确”的函数名称TCHAR代替char or wchar_t,因此您可以在编译 Unicode 或 Ansi 程序之间切换。

然而,std::string不改变根据UNICODE; it's always安西,所以它c_str方法总是返回一个char*, never wchar_t*。当您有一个始终为 Ansi 的参数时,您也应该显式调用始终为 Ansi 的函数。在这种情况下,请致电CreateDirectoryA.

您还可以考虑使用std::basic_string<TCHAR>,但这可能正朝着您不希望的方向发展。

一个快速解决方法是调整您的项目设置,以便UNICODE不再定义。请查阅工具集的文档以了解如何执行此操作,或探索 IDE 的项目选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'CreateDirectoryW':无法在 OpenCV 2.4.5 和 VS 2010 中将参数 1 从 'const char *' 转换为 'LPCWSTR' 的相关文章

随机推荐

  • KVO 中的更改字典对于选择索引始终包含 NULL

    我正在使用 KVO 来获取 NSArrayController 的选择索引更改的通知 contoller addObserver self forKeyPath selectionIndex options NSKeyValueObserv
  • 连续文本组件中的空文本空间反应本机

    我有这个问题 我需要将 dummy 一词放在第一行中 直到该行完成 您可以在此处查看示例 https snack expo io B1KcRgGWX 代码 import React Component from react import T
  • 如何在bash中通过opencv访问网络摄像头?

    通过python opencv访问网络摄像头时 isOpened 返回False并且没有读取任何数据 它必须与 wsl 做一些事情吗 根据这个 github 问题 WSL 中尚不支持硬件访问 Ben Hillis 硬件访问是我们将来要研究的
  • 基准测试(Python 与使用 BLAS 的 C++)和 (numpy)

    我想编写一个广泛使用 BLAS 和 LAPACK 线性代数功能的程序 由于性能是一个问题 我做了一些基准测试 想知道我采取的方法是否合法 可以这么说 我有三个参赛者 想通过简单的矩阵乘法来测试他们的表现 参赛者是 Numpy 仅使用dot
  • 处理屏幕方向变化的片段?

    我正在使用这种代码来处理主要活动中的三个片段 FragmentA is Fixed it One Frame I change FragmentB and FragmentC on Button Click on FragmentA his
  • Jupyter 笔记本中的 Imagegrid

    我正在遵循 matplotlib 文档中的示例图像网格 我正在尝试从 Jupyter 笔记本中复制它 matplotlib inline import matplotlib pyplot as plt from mpl toolkits a
  • Google是如何实现首页淡入淡出的效果的?

    如果您访问 google com 您会发现将鼠标悬停在页面上后 顶部的菜单会慢慢出现 我想知道谷歌用什么来控制褪色效果 编辑 因为我不使用 jQuery 所以我不想仅仅为了使用此功能而包含它 有两种方法 JavaScript 适用于大多数浏
  • 在 JavaTokenParsers 中将空格设置为分隔符

    延伸JavaTokenParsers 我有以下内容 class Foo extends JavaTokenParsers lazy val check id action obj lazy val id FOO BAR lazy val a
  • 通过 Excel VBA 在 Outlook 中打开新邮件

    每天我都在处理日常报告 这非常耗时 基本上 我需要发送包含昨天销售额与上周和上个月销售额的简要比较的电子邮件 这工作得很好 完成此操作后 消息将粘贴到新工作表中 然后我必须将其复制并粘贴到 Outlook 中的新电子邮件中 是否有可能创建宏
  • 如何将“System.Windows.Input.Key”转换为“System.Windows.Forms.Keys”?

    我正在 WPF 中开发应用程序 但某些组件是使用 WinForms 编写的 我不希望这些组件从 WPF 部分提取按键手势并将它们转换为 Keys 枚举 在 WinForms 中使用 有内置转换器吗 可能不会 你知道 比大开关盒更容易 的方法
  • 如何让 VML 在标准模式下工作?

    我希望能够在标准模式而不是怪异模式下的页面渲染上使用 vml 对象 我发现答案的碎片散落在各处 但无法弄清楚 Raphael以某种方式把它拉下来 但我无法扭转它来弄清楚发生了什么 任何基本的工作示例都会很棒 我想我已经弄清楚了 第 1 步是
  • Kafka Streams 物化存储构建错误

    我正在尝试在这里构建 Materialized as DSL 代码 https kafka apache org 11 javadoc org apache kafka streams state Stores html 但我收到错误 in
  • Android 连续语音识别

    我正在考虑在 Android 中进行语音识别 该程序需要具有连续的语音识别功能 图书馆只需要大约10个字 我考虑过使用 Google 的 api 但我认为它不会起作用 我不能让任何东西覆盖屏幕 我一直在寻找其他方法 但似乎没有任何效果 是否
  • 与mysql中的同一个表连接?

    我有下表 每个员工都有一个经理 如果一个人是他自己的经理 则 managerid 字段为空 我想要emid name and manager id结果表名是employee emid name managerid 1 raj null 2
  • asp.net 中的预定邮件

    大家好 我的应用程序处理预定邮件概念 即 每天早上 6 点 我的用户会收到有关他们当天活动的剩余邮件 我不知道如何执行此操作 许多人告诉使用 Windows 服务 但我将托管我的网站在共享服务器上 我可能无法获得执行Windows服务的权限
  • 带十进制的正则表达式验证

    正在进行正则表达式验证 我验证为 XX XX 使用我的正则表达式我可以写 2 233 并且它仍然会通过 regex d 1 2 d 2 也许您应该添加开始和结束限制 如下所示 regex d 1 3 d 2 Demo http regex1
  • 展平 Spark DataFrame 中的嵌套数组

    我正在阅读一些来自以下内容的 JSON a b c 1 d 2 也就是说 数组项不必要地嵌套 现在 因为这发生在数组内部 所以给出的答案如何展平 Spark 数据框中的结构 不要直接申请 这是解析数据框时的样子 root a array e
  • 闪亮的应用程序 rglwidget 让 userMatrix 生成另一个具有相同旋转的图

    我有一个闪亮的应用程序 并将 rgl 3d 绘图集成到其中 我在用renderRglwidget来自rglwidget包使用 webgl 将 rgl 图形插入到我闪亮的应用程序中 在应用程序中 用户可以旋转图形 现在我想保存旋转状态 因此
  • C 中的华氏转换公式存在问题[重复]

    这个问题在这里已经有答案了 当用 C 编写程序将摄氏温度转换为华氏温度时 以下公式给出了错误的输出 int fahr 9 5 celsius 32 现在 我明白这可能是 9 5 被解释为整数的问题 但我不明白的是使用double or fl
  • 'CreateDirectoryW':无法在 OpenCV 2.4.5 和 VS 2010 中将参数 1 从 'const char *' 转换为 'LPCWSTR'

    我正在尝试从 openCV 2 4 5 到 Visual Studio 2010 基于 VC 的示例代码 bagofwords classification cpp 但我发现了错误代码 error C2664 CreateDirectory