我试图从来源(合并)编译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