我正在尝试从源代码(合并)编译 sqlite 以从 C# 中使用它。自己编译而不是使用预编译版本的原因是我需要 JSON 支持,默认情况下不包含该支持。我是这样编译的:
cl sqlite3.c -DSQLITE_ENABLE_JSON1 -link -dll -out:sqlite3.dll
然后,我尝试将应用程序中预编译的 sqlite3.dll 版本替换为我自己编译的版本,结果我的 C# 应用程序开始崩溃并出现 EntryPointNotFoundException。
如何解决这个问题,编译 SQLite 的正确方法是什么?
最佳答案
解决方案是导出API函数:
cl sqlite3.c -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll
关于c# - 从源代码编译SQLite时如何修复 "cannot find entry point sqlite3_open_v2 in DLL sqlite3"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785127/