【问题标题】:cesmlm.dll not loading in visual studio 2012cesmlm.dll 未在 Visual Studio 2012 中加载
【发布时间】:2013-03-29 14:55:51
【问题描述】:

我是使用 Visual Studio 的新手。我的程序正在使用“cesmlm.dll”来访问 USB 打印机。在调试时,未加载此 dll。 我尝试在项目属性-> 配置属性-> 调试中设置环境路径。 我已经尝试将这个.dll放在项目文件夹中,我的输出文件夹中生成了exe文件,并且在任何可能的地方......但都是徒劳的:(。 有人可以帮我吗? TIA。

平台:Visual C++, 操作系统:Windows 7, Visual Studio 版本:2012

【问题讨论】:

  • 你添加了链接器的路径吗?
  • 你是指Linker下的输出文件路径吗?我已经设置了。我不确定我是否错过了其他任何东西。

标签: c++ visual-studio-2012


【解决方案1】:

据我所知,您没有将 dll 添加到链接器路径中。它需要知道您将 dll 存储在哪里才能链接到它。

转到项目属性 -> 配置属性 -> VC++ 目录 -> 库目录

在此处单击编辑以将路径添加到您的 dll。

【讨论】:

  • 我已经将我的 dll 放在 VC++ Directories-> Library Directories 中给出的路径中,但它不起作用。库目录的描述说“对应于环境变量 LIB”。那么字段是否仅适用于 lib 文件?
【解决方案2】:

问题可能是因为我的 Module 机器是 32 位的,而我尝试加载的 .dll 是 64 位的。

编辑 - 将 dll 替换为 32 位 dll 后,问题已解决。感谢所有的帮助。 :)

【讨论】:

  • 请记住,您不能将 32 位代码链接到 64 位应用程序或 viseversa。此外,对于 Visual Studio,最好只使用来自同一版本 VisualStudio 的库,而不是混合使用 Release 和 Debug,因为任何这些都可能导致堆损坏。
  • 是的,问题是因为我将 64 位 dll 链接到 32 位应用程序。这个 dll 是从我的打印机驱动程序生成的,它会自动生成一个 64 位 dll,因为我的是 64 位操作系统。在我在 32 位机器上安装驱动程序后,问题得到解决,获取 dll 并替换为我的。
猜你喜欢
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多