Как скомпилировать SQLITE c новым параметром SQLITE_MAX_COLUMN?
Никак не могу скомпилировать новую сборку SQLITE.
Сначала скажу зачем мне это нужно: снять ограничение 2000 столбцов в SQLite. Мне нужно установить 3000 столбцов. Я знаю, что это можно сделать, ограничение SQLITE_MAX_COLUMN < 32767 столбцов.
Есть официальный туториал с сайта sqlite.org 2. Compiling The Command-Line Interface
Я начал с него. Дело в том, что SQLITE написан на языке C. Надо скомпилировать исходные файлы. Компилировать будем через GCC компилятор MSYS2. Устанавливал GCC по туториалу metanit. Скачиваем с официального сайт sqlite файл sqlite-amalgamation-3390300.zip. Итого Имеем 4 файла:
- sqlite3.c: The SQLite amalgamation source file
- sqlite3.h: The header files that accompanies sqlite3.c and defines the C-language interfaces to SQLite.
- shell.c The command-line interface program itself.
- sqlite3ext.h
Я перебрал все возможные команды для GCC компилятора.
- Команда 1
Пробовал эту как указано в оф. справке:
gcc shell.c sqlite3.c -lpthread -ldl -lm -o sqlite3
не работает и выдает
cannot find -Idl:No such file or directory
Как понимаю, он его не находит в папке с компилятором GCC. Зачем нужен -Idl я так и не понял.
- Команда 2
Вычитал тут, что можно поменять параметр SQLITE_MAX_COLUMN в файле sqlite3.c, что я и сделал. Далее убрал -Idl. Применил команду
gcc shell.c sqlite3.c -lpthread -lm -o sqlite3
Создал sqlite3.exe. Запускаем его и сохраняем БД командой .save nameDB.db
Получаем в итоге файл базы данных SQLite.

Иду в ожиданиях результата и тестирую запрос sql на добавление 3000 столбцов. Получаю печальный результат:
- Команда 3
Хорошо, думаю тогда модернизирую команду с официального сайта и добавлю параметр
-DSQLITE_MAX_COLUMN=32767
Тогда команда будет
gcc -DSQLITE_MAX_COLUMN=32767 shell.c sqlite3.c -lpthread -lm -o sqlite3
Создался sqlite3.exe и результат такой же. Опять больше 2000 не добавляет.
- Команда 4
Тогда я решил попробовать команду указанную в посте тут
gcc -I. -O3 -DSQLITE_MAX_COLUMN=32767 -c sqlite3.c -o sqlite3.o
В итоге создается файл sqlite3.o с которым не понятно что вообще делать. Там в пункте 4 сказано, что нужно создать статическую библиотеку и сопоставить с этими файлами, но я не очень понимаю, что именно нужно сделать. Ведь мне нужно получить в итоге файл базы данных .db
В итоге все команды и методы, что использовал, не помогли. Прошу знающих подсказать, как скомпилировать SQLite сняв ограничение на количество столбцов в ней и получить файл базы данных, с которым можно работать.

