【问题标题】:Problems with dllimport in c# under Windows 7 x32Windows 7 x32下c#中dllimport的问题
【发布时间】:2011-11-25 22:33:13
【问题描述】:

在 c# 中导入 dll 时遇到问题。我在 windows xp x32 下创建了库,并尝试在 windows 7 x32 上使用它。我的库正在使用另一个名为 opnecvsharp 的库,它使用 dllimport 来打开 c++ 库。

我确定我将 opencv.dlls 添加到与可执行文件相同的文件夹中。我尝试以管理员身份运行 exe,禁用 UAC,在 PATH 变量中添加 dll 的路径,但这些都没有帮助我。

如何让我的程序看到 dll?
图片中的错误表明程序没有看到 opencv dll 库。 Opencvsharp 只提供 dll 而没有源文件,所以我不能在这里粘贴代码是如何导入的。

【问题讨论】:

  • 它在 Windows XP 环境中的功能是否符合您的预期?您还可以向我们展示您正在调用的方法的 Pinvoke 签名吗?它可以帮助我们了解可能发生的情况。
  • 很明显你的系统丢失了opencv_core220
  • 你的意思是系统缺少opnecvcore220?我将此库添加到我运行 exe 文件的文件夹中,所以应该没有任何问题。
  • 好的,该消息可能是误报。如果依赖失败,它可能会报告。您是否在 Windows 7 机器上安装了 MS C++ redist 包?
  • 是的,我用 Visual c# 2008 自动安装了它

标签: c# windows-7 opencv dllimport opencvdotnet


【解决方案1】:

尽管错误消息报告缺少opencv_core220 库,但您坚持认为它与可执行文件位于同一目录中。因此,OpenCV 依赖项之一似乎失败了。

最有可能的原因是目标机器上没有安装 Visual C++ 可再发行包。

【讨论】:

  • 我安装了 Microsoft windows c# 2008,它还安装了 c++ redistibutable package。我在 exe 文件上使用了 depenedency walker,但它只显示了 windows 目录中的 dll。
  • 好的,我找到了解决方案。我需要安装 c++ redistributable 2010。希望它对某人有所帮助。
  • @user1042321 如果此答案有帮助,则应将其标记为“已接受”,请参阅What does "accepting an answer" mean? How do I do it?
  • 是的,但我安装了 c++ 可再发行包 2008 而不是 2010 这就是为什么它不起作用
  • 是的,我现在可以看到了。我不熟悉 OpenCv 的确切细节。我只是假设您已经安装了 OpenCv 文档中描述的运行时。
猜你喜欢
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-01
  • 2011-01-18
  • 1970-01-01
相关资源
最近更新 更多