错误53:文件未找到,而是所有的DLL都存在于路径中
问题描述:
我创建了一个DLL(使用C++),它依赖于sqlite3.dll
(用于数据库访问& sqlcipher),我试图使用VBA
来访问它。在VBA
我使用以下声明:错误53:文件未找到,而是所有的DLL都存在于路径中
Declare Function GetData_VBA Lib "xyz.dll" (ByVal path As String, ByVal id As String, ByRef inputArr() As String, ByRef output() As String) As Boolean
早些时候当DLL是不依赖于sqlite3.dll
它工作正常,但是当我介绍sqlite3.dll
它开始呕吐错误
错误53:xyz.dll没有找到
我试图改变声明
Declare Function GetData_VBA Lib "C:\documents\user\...\projects\xyz.dll" (ByVal path As String, ByVal id As String, ByRef inputArr() As String, ByRef output() As String) As Boolean
但仍显示相同的事情。我用dependency walker
来检查对xyz.dll
的所有依赖。我尝试将所有xyz.dll
& sqlite3.dll
放在同一位置,但仍然是相同的错误。
答
cryptlib.lib
缺少sqlite3.dll
从属关系。我已经提供了.lib文件,它工作。
你的dll是否在C++环境中测试过? –
sqlite3.dll在您的PATH环境变量中的位置,如果不是,则考虑添加它。或者,如果您正在控制其安装位置,则可以使用特定位置的LoadLibrary手动加载它。 –
您确定您的* .dll *和* sqlite3.dll *之间没有架构不匹配(32/64位)吗? – CristiFati