Windows 生成Sqlite模块时出现cl.exe错误D8003(缺少源文件名)

Windows 生成Sqlite模块时出现cl.exe错误D8003(缺少源文件名),windows,sqlite,visual-c++,cl,Windows,Sqlite,Visual C++,Cl,我下载并解压。然后,当尝试将扩展名spellfix(但在Linux上)构建为DLL时,使用: 我得到: cl : Command line error D8003 : missing source filename 为什么?您应该尝试: cl /I <path to sqlite amalgation> <path-to-spellfix.c> /link /DLL /OUT:spellfix.dll cl/I/link/DLL/OUT:spellfix.DLL 我对

我下载并解压。然后,当尝试将扩展名
spellfix
(但在Linux上)构建为DLL时,使用:

我得到:

cl : Command line error D8003 : missing source filename
为什么?

您应该尝试:

cl /I <path to sqlite amalgation> <path-to-spellfix.c> /link /DLL /OUT:spellfix.dll
cl/I/link/DLL/OUT:spellfix.DLL

我对SQLite的DBeaver和jdbc驱动程序也有类似的问题。希望它能帮助人们节省一些时间

问题

  • 我无法加载扩展拼写修复程序 执行时,我收到错误“没有此类模块拼写修复1

    从表1中选择*,其中col1类似于“asd%”

  • SQLite的文档不清楚如何加载扩展,也不清楚如何构建扩展(这个线程帮助了我,谢谢大家,但仍然不清楚,因为我很久没有编码了)

  • 解决方案

  • 我已经从下面的url下载了sqlite的源代码,之后完成了上面帖子中的步骤,但由于我有x64 DBeaver,所以收到了错误消息
  • SQL错误或缺少数据库(%1不是有效的Win32应用程序。) 很明显,我需要x64构建,因此我执行了以下步骤:

    a) 在cmd提示符中执行:

    call "E:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64
    
    amd64参数是为x64生成设置生成环境所必需的

    b) 之后我使用了cl命令:

    cl /I "<path to sqlite amalgation folder>" "ext\misc\spellfix.c" /link /DLL /OUT:spellfix64.dll
    
    cl/I”““ext\misc\spellfix.c”/link/DLL/OUT:spellfix64.DLL
    
    cmd提示符位于我从这里下载最新sqlite源代码的位置。 我是如何找到那个链接的,这也有点冒险:)

  • 之后,将我的dll放到位置,并在DBeaver中执行加载扩展名的命令

    选择加载扩展名('E:/Users/Name/Downloads/SQLite/ext/spellfix64')

  • 我放置构建版本的路径。为了能够构建x64版本,我需要使用上述注释进行构建


    嗯,还有一件事,您需要在连接属性上启用DBeaver中的加载扩展:post is.

    谢谢@JacquesGaudin。我尝试了
    cl/I src ext/misc/spellfix.c/link/DLL/OUT:spellfix.DLL
    ,现在成功找到了
    sqlite3ext.h
    ,但现在
    无法打开include文件:“sqlite3.h”:没有这样的文件或目录。我仔细检查了归档文件,其中没有
    sqlite3.h
    。为什么?我还发现SQLite合并中不包含spellfix1虚拟表
    您需要的所有包含文件都在这里:Tghe
    src
    文件夹不包含所需的包含文件。如果您没有任何源文件,因为您链接的是已经构建的obj?供将来参考:这是一个详细的Windows和Linux的HOWTO+现成使用示例。
    cl /I "<path to sqlite amalgation folder>" "ext\misc\spellfix.c" /link /DLL /OUT:spellfix64.dll