У меня возникли проблемы при попытке скомпилировать базу данных sqlite с кодом C ++ Builder 5.
Я скачал sqlite-amalgamation и добавил все файлы в проект:
shell.c
sqlite3.c
sqlite3.h
sqlite3ext.h
Тогда я включил sqlite3.h
в MainForm, где будет использоваться база данных.
Сначала я подумал, что у моего кода возникли проблемы, но после тестирования его с помощью простой формы с DBGrid для отображения данных внутри базы данных я получаю следующие ошибки:
[C++ Warning] shell.c(205): W8065 Call to function '_setmode' with no prototype
[C++ Warning] shell.c(209): W8065 Call to function '_setmode' with no prototype
[C++ Error] shell.c(1420): E2257 , expected
[C++ Error] shell.c(1432): E2141 Declaration syntax error
[C++ Error] shell.c(1432): E2139 Declaration missing ;
[C++ Warning] shell.c(1432): W8004 'RC' is assigned a value that is never used
[C++ Error] shell.c(1432): E2190 Unexpected }
[C++ Error] shell.c(1460): E2040 Declaration terminated incorrectly
[C++ Error] shell.c(1460): E2141 Declaration syntax error
[C++ Error] shell.c(1460): E2141 Declaration syntax error
[C++ Error] shell.c(1729): E2190 Unexpected }
[C++ Error] shell.c(1729): E2190 Unexpected }
[C++ Warning] shell.c(2382): W8053 '_chmod(const signed char *,int,...)' is obsolete
[C++ Warning] shell.c(2504): W8065 Call to function 'S_ISLNK' with no prototype
[C++ Warning] shell.c(2529): W8065 Call to function 'S_ISLNK' with no prototype
[C++ Error] shell.c(2558): E2139 Declaration missing ;
[C++ Error] shell.c(2638): E2451 Undefined symbol 'pDir'
[C++ Error] shell.c(2638): E2451 Undefined symbol 'pDir'
[C++ Warning] shell.c(2638): W8065 Call to function 'closedir' with no prototype
[C++ Error] shell.c(2701): E2451 Undefined symbol 'pDir'
[C++ Warning] shell.c(2701): W8065 Call to function 'opendir' with no prototype
[C++ Error] shell.c(2702): E2451 Undefined symbol 'pDir'
[C++ Error] shell.c(2710): E2451 Undefined symbol 'pDir'
[C++ Warning] shell.c(2710): W8065 Call to function 'readdir' with no prototype
[C++ Warning] shell.c(2710): W8069 Nonportable pointer conversion
[C++ Error] shell.c(2712): E2451 Undefined symbol 'd_name'
[C++ Error] shell.c(2713): E2451 Undefined symbol 'd_name'
[C++ Error] shell.c(2713): E2451 Undefined symbol 'd_name'
[C++ Error] shell.c(2714): E2451 Undefined symbol 'd_name'
[C++ Error] shell.c(2717): E2451 Undefined symbol 'd_name'
[C++ Error] shell.c(2725): E2451 Undefined symbol 'pDir'
[C++ Warning] shell.c(2725): W8065 Call to function 'closedir' with no prototype
[C++ Error] shell.c(2727): E2451 Undefined symbol 'pDir'
[C++ Warning] shell.c(8794): W8072 Suspicious pointer arithmetic
[C++ Warning] shell.c(15699): W8065 Call to function '_isatty' with no prototype
[C++ Warning] shell.c(15700): W8065 Call to function '_isatty' with no prototype
В чем проблема?
Я следовал интернет-учебникам о том, как добавить sqlite, но они не работают.
Если невозможно использовать sqlite с C ++ Builder 5, существует ли другая встроенная база данных, совместимая с ним?
Я слышал, что могу использовать файл CSV в качестве базы данных, могу ли я это сделать? Если так, то как?
Файл shell.c
для оболочка командной строки; он вам не нужен для доступа к базам данных из вашего кода.
Единственные файлы, которые вам нужны sqlite3.c
а также sqlite3.h
и только первое действительно должно быть скомпилированный.
Других решений пока нет …