【问题标题】:How to fix "cannot find entry point sqlite3_open_v2 in DLL sqlite3" when compiling SQLite from the source code?从源代码编译 SQLite 时如何解决“在 DLL sqlite3 中找不到入口点 sqlite3_open_v2”?
【发布时间】:2016-11-17 04:16:43
【问题描述】:

我正在尝试从源代码(合并)编译 sqlite 以从 C# 中使用它。自己编译而不是使用预编译版本的原因是我需要默认不包含的 JSON 支持。我是这样编译的:

cl sqlite3.c -DSQLITE_ENABLE_JSON1 -link -dll -out:sqlite3.dll

然后我尝试用我自己编译的版本替换我的应用程序中预编译的 sqlite3.dll 版本,我的 C# 应用程序开始崩溃并出现 EntryPointNotFoundException。

如何解决这个问题,编译 SQLite 的正确方法是什么?

【问题讨论】:

    标签: c# .net c sqlite


    【解决方案1】:

    解决办法是导出API函数:

    cl sqlite3.c -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多