2017-09-05 89 views
1

我正在使用C++为excel生成xll插件,在xlw的帮助下。它的工作原理我的电脑和一些用户的罚款,但在其他一些用户,当我拖动XLL到一个新的Excel窗口,错误出现:奇怪的excel xll插件错误

文件你试图打开,“my_plug_in。 xll',与文件扩展名指定的文件名不同。在打开文件之前,验证文件是否为 未损坏且来自可信来源。 你想现在打开文件吗?

如果单击是,Excel将打开XLL作为显示类似的文本文件

“MZÿÿ¸@Í!礼!此程序无法在DOS模式下运行。”

在第一行。这不是预期的。

可能是什么原因?操作系统都是Windows 7 professional,64位,excel都是Excel 2010(32位)。

+0

缺少外部DLL或运行时DLL?你用MT旗子建造了吗?你可以检查与DLL依赖?你还需要一个用于excel 32位的x86 xll和用于excel 64位的x64 xll。 – Malick

+0

想象出我是在MT下建立的,但是错误地与在MD中使用的lib相关联。但为什么有些用户可以使用它一些不能? – athos

+1

好吧,我认为,对于工作的用户来说,他们必须安装另一个软件的lib。 – Malick

回答

1

总之,错误代码:“此程序无法在DOS模式下运行”通常涉及以下问题之一:

  • 的XLL是建立与/ MD国旗,但最终用户做没有所需的CRT dll。
  • 错误的xll体系结构(例如:x64 xll for Excel 32位)。
  • 缺少外部DLL。
  • 已使用/ MD标志构建的外部DLL。在这种情况下,如果最终用户拥有正确版本的CRT(用于构建此外部DLL的版本),那么就没有问题了。否则,它将无法正常工作。我认为这是你的情况。我强烈建议您使用/ MT标志重建您的外部DLL(如果可能),或者更好地将您的xll与第三方组件的静态 .lib文件直接链接。