This forum is reserved for everything you want to talk about. It could be about programming, opinions, open source programs, development in general, or just cool stuff to share!
No, nothing is missing. You just have to start the compilation in the right way. Obviously you added all source files to your rad studio project. However, this will not work. The compiler will try to compile each source file separately. And this gives you the above error messages. The only source file you have to compile is sqlite3secure.c. This source file includes all other required files.
There is one small change you will have to apply to file sqlite3secure.c to make it compile without errors. Change line 10 to make it look like the following line:
Result: I get a LIB (496KB). My old version (6 years ago was 960KB). After include this LIB in my old application I get "sqlite3_key()" is now a unknown function. "sqlite_open()" working fine. Are you here an idea?
If you add all these defines directly in the source code, you should do that immediately at the beginning of the file. For example, the symbol SQLITE_ENABLE_EXTFUNC is used on the 2nd line of sqlite3secure.c. If you are defining it later you are looking for trouble.
Django wrote:Result: I get a LIB (496KB). My old version (6 years ago was 960KB). After include this LIB in my old application I get "sqlite3_key()" is now a unknown function. "sqlite_open()" working fine. Are you here an idea?
I'm not a clairvoyant, but my guess is that you added the defines too late in the source file. All defines have to be made at least before the file sqlite3.c is included. Probably this explains also the way too small size of the created libary.
Well, enabling this SQL syntax in SQLite will not be a trivial task, since this feature is not enabled by default.
According to the SQLite documentation of this option
SQLITE_ENABLE_UPDATE_DELETE_LIMIT
This option enables an optional ORDER BY and LIMIT clause on UPDATE and DELETE statements.
If this option is defined, then it must also be defined when using the 'lemon' tool to generate a parse.c file. Because of this, this option may only be used when the library is built from source, not from the amalgamation or from the collection of pre-packaged C files provided for non-Unix like platforms on the website.
you need to compile SQLite from its original sources, you can't use the amalgamation. Sorry, you will be on your own, if you really need this SQL feature (which is non-standard by the way).
I would strongly recommend to avoid the use of the non-standard features ORDER BY and/or LIMIT in UPDATE or DELETE statements.
Django wrote:You version 3.3 working fine with sqlite3 version 3110100. Thanks you very much.