Проблемы компиляции на "архитектуре x86_64" для расширения JSON1 на SQLite

Существует множество потоков с похожими вопросами, но многие имеют дело с кодом на С ++ и имеют решения на С ++. Однако из того, что я собираю в различных потоках, я могу пропустить библиотеку, когда gcc пытается связать библиотеки.

Я не знаю, какую библиотеку мне нужно включить для успешного построения JSON1.

Для загрузки расширений SQLite их официальные инструкции на Mac:

gcc -g -fPIC -dynamiclib YourCode.c -o YourCode.dylib

Итак, я сделал:

$ gcc -g -fPIC -dynamiclib sqlite-src-3180000/ext/misc/json1.c -o json1

sqlite-src-3180000/ext/misc/json1.c:344:11: warning: implicit declaration of function
      'sqlite3_value_subtype' is invalid in C99 [-Wimplicit-function-declaration]
      if( sqlite3_value_subtype(pValue)==JSON_SUBTYPE ){
          ^
sqlite-src-3180000/ext/misc/json1.c:501:3: warning: implicit declaration of function
      'sqlite3_result_subtype' is invalid in C99 [-Wimplicit-function-declaration]
  sqlite3_result_subtype(pCtx, JSON_SUBTYPE);
  ^
2 warnings generated.
Undefined symbols for architecture x86_64:
  "_sqlite3_result_subtype", referenced from:
      _jsonArrayFunc in json1-5de683.o
      _jsonExtractFunc in json1-5de683.o
      _jsonObjectFunc in json1-5de683.o
      _jsonQuoteFunc in json1-5de683.o
      _jsonArrayFinal in json1-5de683.o
      _jsonObjectFinal in json1-5de683.o
      _jsonReturnJson in json1-5de683.o
      ...
  "_sqlite3_value_subtype", referenced from:
      _jsonAppendValue in json1-5de683.o
  "_sqlite3_vsnprintf", referenced from:
      _jsonPrintf in json1-5de683.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Что мне не хватает?

Это мои данные gcc, если это поможет:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

0 ответов

Другие вопросы по тегам