I am having difficulty getting a clean build under Visual Studio. I
believe I have followed the advice given at
http://www.sqlite.org/cvstrac/wiki?p=VsNetSolution.
I am getting lots of errors of the sort:
...\\sqlite3\\vdbemem.c(194) : warning C4267: '=' :
conversion from 'size_t' to 'int', possible loss of data
...\\sqlite3\\vdbemem.c(319) : warning C4244: '=' : conversion
from 'double' to 'i64', possible loss of data
...\\sqlite3\\vdbemem.c(779) : warning C4311: 'type cast' :
pointer truncation from 'char *' to 'int'
...\\sqlite3\\vdbeaux.c(531) : warning C4267: 'initializing' :
conversion from 'size_t' to 'int', possible loss of data
...\\sqlite3\\vdbeaux.c(564) : warning C4018: '<=' :
signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(659) : warning C4267: '=' : conversion
from 'size_t' to 'int', possible loss of data
I could just turn off the warnings, but that seems kind of wreckless.
The output from the compile is attached.
I am also getting:
Run-Time Check Failure #2 - Stack around the variable
'ts' was corrupted."
This is in vdbe.c Although it is not at the same variable every time.
I am running a single threaded app. This is what has lead me to want
to fix the compiler warnings.
Any suggestions? I'm hoping for a recommended change in my
preprocessors settings. Drastic modifications to sqlite does not seem
appropriate. Current preprocessor definitions are:
WIN32
WINVER=0x0500
_WIN32_WINNT=0x0500
_DEBUG
_WINDOWS
_USRDLL
NO_TCL
SQLITE3_EXPORTS
_WINDLL
_UNICODE
UNICODE
Deleting intermediate files and output files for project 'sqlite3',
configuration 'Debug|Win32'.
Compiling...
where.c
vdbemem.c
...\\sqlite3\\vdbemem.c(194) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbemem.c(319) : warning C4244: '=' : conversion from 'double' to
'i64', possible loss of data
...\\sqlite3\\vdbemem.c(491) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbemem.c(557) : warning C4244: '=' : conversion from 'const i64'
to 'double', possible loss of data
...\\sqlite3\\vdbemem.c(562) : warning C4244: '=' : conversion from 'const i64'
to 'double', possible loss of data
...\\sqlite3\\vdbemem.c(779) : warning C4311: 'type cast' : pointer truncation
from 'char *' to 'int'
...\\sqlite3\\vdbemem.c(859) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
vdbefifo.c
vdbeaux.c
...\\sqlite3\\vdbeaux.c(482) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbeaux.c(527) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbeaux.c(531) : warning C4267: 'initializing' : conversion from
'size_t' to 'int', possible loss of data
...\\sqlite3\\vdbeaux.c(564) : warning C4018: '<=' : signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(659) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbeaux.c(676) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbeaux.c(862) : warning C4244: 'function' : conversion from
'__w64 int' to 'int', possible loss of data
...\\sqlite3\\vdbeaux.c(1034) : warning C4267: 'function' : conversion from
'size_t' to 'int', possible loss of data
...\\sqlite3\\vdbeaux.c(1595) : warning C4244: 'return' : conversion from 'i64'
to 'u32', possible loss of data
...\\sqlite3\\vdbeaux.c(1651) : warning C4244: '=' : conversion from 'u64' to
'unsigned char', possible loss of data
...\\sqlite3\\vdbeaux.c(1813) : warning C4018: '>=' : signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(1815) : warning C4018: '>=' : signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(1841) : warning C4018: '<' : signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(1843) : warning C4018: '<' : signed/unsigned mismatch
...\\sqlite3\\vdbeaux.c(1887) : warning C4244: 'function' : conversion from
'i64' to 'int', possible loss of data
...\\sqlite3\\vdbeaux.c(1926) : warning C4244: 'function' : conversion from
'i64' to 'int', possible loss of data
vdbeapi.c
...\\sqlite3\\vdbeapi.c(55) : warning C4244: 'return' : conversion from 'i64'
to 'int', possible loss of data
...\\sqlite3\\vdbeapi.c(152) : warning C4047: 'initializing' : 'DWORD' differs
in levels of indirection from 'HANDLE'
...\\sqlite3\\vdbeapi.c(162) : warning C4047: '==' : 'HANDLE' differs in levels
of indirection from 'DWORD'
...\\sqlite3\\vdbeapi.c(208) : warning C4244: '=' : conversion from 'double' to
'i64', possible loss of data
...\\sqlite3\\vdbeapi.c(245) : warning C4244: '=' : conversion from 'double' to
'u64', possible loss of data
vdbe.c
...\\sqlite3\\vdbe.c(665) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbe.c(680) : warning C4267: '=' : conversion from 'size_t' to
'int', possible loss of data
...\\sqlite3\\vdbe.c(696) : warning C4267: '=' : conversion from 'size_t' to