0

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

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

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

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

谢谢你。

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

4

2 回答 2

2

因此,编译器可以.def为 .dll 生成一个文件,但是(我猜)这里没有使用它的原因是您希望控制符号的名称和位置 - 特别是,因为.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
于 2013-06-17T22:33:04.670 回答
1

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

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

于 2013-06-18T02:09:51.000 回答