Hi all,
I had been trying to make Sqlite work in a target embedded system.
When the application is executed, the Sqlite statements fail to return any
results. On further analysis, it was found that the 64 bit data type is causing
the issue. The cross compilation tool chain used is GCC for ARM from Code
Sourcery.
The actual error was that the 64 bit variable contents were 32 bit word swapped
i.e. 0x02 was interpreted as 0x0200000000. There were similar problems
wherever the 'Sqlite3_int64' datatypes were used.
I went through some of the discussions about a 32 bit port for Sqlite. When I
do compile with those options (see below), I end up with source code which
contains left shifting a 32 bit variable 32 times and the like.
-DSQLITE_32BIT_ROWID=1 -DSQLITE_INT64_TYPE=long
Your help would be appreciated.
Thanks,Girish
Steps used to create the sqlite library.
1. Download canonical source files. Used version 3.7.10.2. Cygwin GCC is used
in the Host machine.3. For cross compilation, GCC for ARM from Code Sourcery is
used.4. Modified the makefile in the canonical sources to use Cygwin GCC.5.
'make sqlite3.c' is given for creating the amalgamation source code.6. The
amalgamation source code is compiled with the application code for creating the
final executable binary.
Also, tried to create 'libsqlite3.a' file using the canonical source files but
ran into the following error."gcc.exe: CreateProcess: No such file or
directory". Hence the amalgamation code is compiled with application.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users