我正在尝试使用sqlite3 的CSV 虚拟表扩展。我在 Mac (MacOS High Sierra 10.13.6) 上编译扩展的第一步遇到了困难。
我从此页面下载了 csv.c 的源代码。我还从这里获取了 sqlite 源代码合并。
我使用以下命令进行编译:
gcc -g -fPIC -dynamiclib csv.c -o csv.dylib
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
csv.c:115:3: error: no member named '__builtin___vsnprintf_chk' in 'struct sqlite3_api_routines'
sqlite3_vsnprintf(CSV_MXERR, p->zErr, zFormat, ap);
^~~~~~~~~~~~~~~~~
/usr/include/sqlite3ext.h:437:53: note: expanded from macro 'sqlite3_vsnprintf'
#define sqlite3_vsnprintf sqlite3_api->vsnprintf
~~~~~~~~~~~ ^
/usr/include/secure/_stdio.h:75:3: note: expanded from macro 'vsnprintf'
__builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
^
csv.c:115:21: warning: incompatible integer to pointer conversion passing 'int' to parameter of type …
Run Code Online (Sandbox Code Playgroud)