gpt4 book ai didi

c++ - VBA 无法找到我的 DLL,尽管对位置进行了硬编码。

转载 作者:太空狗 更新时间:2023-10-29 23:53:55 27 4
gpt4 key购买 nike

我正在使用 C++ 创建一个简单的 DLL,我可以从 VBA 代码中使用它。然而,虽然它在我的开发计算机上工作,但当尝试在不同的计算机上访问 DLL 时,VBA 指出未找到 DLL 文件,尽管对路径进行了硬编码。

我的 DLL 如下所示(作为 Win32 dll 项目使用 Visual C++ 2010 Express 创建):

DEF 文件:

LIBRARY "squareNumber"
EXPORTS
squareNumber

函数.cpp:

double __stdcall squareNumber(double & x)
{
return x*x;
}

VBA 代码如下所示:

Public Declare Function squareNumber Lib "C:\MySimpleDLL.dll" (ByRef number As Double) As Double

Sub test()
MsgBox squareNumber(2)
End Sub

我是 C++ DLL 的新手,是我的 dll 编码有误,还是 VBA 的问题?

使用 RegSvr32 还会产生“模块 [dllpath] 加载失败。确保二进制文件存储在指定路径或调试它以检查二进制文件或相关 .DLL 文件是否存在问题。”

最佳答案

听起来您的 DLL 依赖于存在于您的开发机器上但不存在于目标机器上的其他 DLL。当操作系统加载您的 DLL 但找不到依赖的 DLL 时,它会报告相同的“找不到文件”错误,让您认为它实际上找不到您的 DLL。如果是这种情况,那么您需要分发这些额外的 DLL 或删除对它们的依赖。

关于c++ - VBA 无法找到我的 DLL,尽管对位置进行了硬编码。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com