【问题标题】:Excel does not recognise my xll fileExcel 无法识别我的 xll 文件
【发布时间】:2013-06-17 15:54:25
【问题描述】:

我按照本指南使用代码块和 mingw 创建了我的第一个 xll 文件 http://support.microsoft.com/kb/178474/en-us

问题是dll文件,重命名为xll文件,excel无法识别。

我不明白我链接的指南第 10 点的含义,因此这可能是我的问题。我认为 def 文件是编译器的输出。为什么指南建议它们是输入?

如果它们是输入,我如何设置代码块以将 def 文件作为输入?

谢谢。

[编辑] 问题已解决: 如果有人遇到同样的问题,问题肯定是导出函数的命名约定。正确使用def文件,问题就解决了。

【问题讨论】:

  • 你的意思是你不明白第10点?因为 11 是“将文件重命名为 .xll”,这对我来说似乎不是很困惑。
  • 是的,这是一个错字。我不明白第 10 点。我纠正了这个问题。谢谢指正。

标签: c excel mingw codeblocks xll


【解决方案1】:

所以,编译器可以为 .dll 生成一个.def 文件,但是(我猜)这里没有使用它的原因是你想控制符号的名称和位置是 - 特别是,因为 .dll 使用 __stdcall,而不是 _cdecl 类型调用约定。

这里的页面描述了 gcc/mingw 和 DLL 的一些特殊性,包括如何使用您自己的 .def 文件:

http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs

特别是dlltool:

dlltool -U -d testdll.def -l libtestdll.a

【讨论】:

  • 如果有人遇到同样的问题,问题肯定是导出函数的命名约定。正确使用Def文件,问题就解决了。
【解决方案2】:

如果您对代码块和 mingw 有心,那么您将不会发现 https://xll.codeplex.com 有用。它需要 Microsoft 的免费版 Visual Studio。

如果您需要构建一个 xll 来解决问题,它可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 2021-05-10
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多