Re: [sqlite] Compiling SQLite3 with MSVC 2010
Simon, On Fri, Nov 2, 2012 at 5:05 PM, Simon Slavin slav...@bigfraud.org wrote: On 2 Nov 2012, at 11:52pm, Igor Korot ikoro...@gmail.com wrote: But C program should compile fine whether you use C or C++ compiler. Is it not? I am repeatedly told that you must tell a C compiler that .c files are C files, and that .cpp files are C++ files. Compiling a C file as if it's C++ doesn't work. Fortunately, all C++ compilers I know can compile C too. I just change the properties for the sqlite3.c file to be interpreted as a C file. (Right click on it-Properties-C/C++-Advanced- Compile As-Compile As C Code). And I still get a lot of warnings: 1SQLite\sqlite3.c(20856): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(20858): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(20863): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(21304): warning C4244: '=' : conversion from 'long double' to 'double', possible loss of data 1SQLite\sqlite3.c(21307): warning C4244: '=' : conversion from 'long double' to 'double', possible loss of data 1SQLite\sqlite3.c(21322): warning C4244: '=' : conversion from 'long double' to 'double', possible loss of data 1SQLite\sqlite3.c(21324): warning C4244: '=' : conversion from 'long double' to 'double', possible loss of data 1SQLite\sqlite3.c(30129): warning C4232: nonstandard extension used : 'pCurrent' : address of dllimport 'AreFileApisANSI' is not static, identity not guaranteed 1 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winbase.h(10430) : see declaration of 'AreFileApisANSI' 1SQLite\sqlite3.c(33702): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(33724): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(39611): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(42616): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(42625): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(49823): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(49924): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(53587): warning C4244: '-=' : conversion from 'int' to 'u16', possible loss of data 1SQLite\sqlite3.c(53940): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(56236): warning C4244: '=' : conversion from 'unsigned int' to 'u8', possible loss of data 1SQLite\sqlite3.c(59671): warning C4244: '=' : conversion from 'int' to 'ynVar', possible loss of data 1SQLite\sqlite3.c(68278): warning C4244: '=' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(71987): warning C4244: '+=' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(72920): warning C4244: '=' : conversion from 'int' to 'u16', possible loss of data 1SQLite\sqlite3.c(74268): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(80769): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(80906): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(80912): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(80930): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(80936): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(82114): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(82276): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(82287): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(82777): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(83172): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(83719): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(88924): warning C4244: 'function' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(89874): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(91106): warning C4244: 'return' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(91857): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(91857): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(91857): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(92261): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(92776): warning C4244: '=' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(92877): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(92907): warning C4127: conditional expression is constant 1SQLite\sqlite3.c(100183): warning C4244: 'function' : conversion from 'int' to 'u8', possible loss of data 1SQLite\sqlite3.c(113660): warning C4244: '=' : conversion from 'int' to 'char', possible loss of data 1c:\elance5\baseballdraft\baseballdraft\sqlite\sqlite3.c(33366): warning C4706: assignment within conditional expression 1c:\elance5\baseballdraft\baseballdraft\sqlite\sqlite3.c(33729):
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Joe, On Fri, Nov 2, 2012 at 5:32 PM, Joe Mistachkin sql...@mistachkin.com wrote: Igor Korot wrote: Warning Level: /W4 Trying to compile it in the debug mode with WIN32, UNICODE, Multi-threaded Debug DLL (/MDd). The /W4 option produces a lot of compiler warnings, mostly related to perceived 64-bit portability issues. These warnings are harmless and can be safely ignored. Also, it is possible to adjust the warning level for a single source code file within a project using Visual Studio. In this case, the warning level for the sqlite3.c file should normally be set to /W3. With /W3 all those warnings mentioned are gone, Thank you. -- Joe Mistachkin ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
You probably have the warning level turned up high. Up to level 3 it compiles without warnings. Level 4 starts complaining loudly. Michael D. Black Senior Scientist Advanced Analytics Directorate Advanced GEOINT Solutions Operating Unit Northrop Grumman Information Systems From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on behalf of Igor Korot [ikoro...@gmail.com] Sent: Friday, November 02, 2012 6:25 PM To: General Discussion of SQLite Database Subject: EXT :Re: [sqlite] Compiling SQLite3 with MSVC 2010 Richard, On Fri, Nov 2, 2012 at 4:14 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? I'm just trying to understand why those warnings appear and why nobody else see them on other platforms. Thank you. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Actually, on MSVC 2010 I just got the following errors with /W3: -- Rebuild All started: Project: Shell, Configuration: Release x64 -- shell.c sqlite3.c ..\src\sqlite3.c(78502): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(78503): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(78504): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(104145): warning C4244: '=' : conversion from 'i64' to 'double', possible loss of data ..\src\sqlite3.c(104170): warning C4244: '=' : conversion from 'i64' to 'double', possible loss of data Generating code Finished generating code Shell.vcxproj - X:\jonas-malaco-filho\lib\SQLite\Shell\..\bin\x86-64\sqlite3.exe -- Rebuild All started: Project: Shell, Configuration: Release Win32 -- shell.c sqlite3.c ..\src\sqlite3.c(78502): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(78503): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(78504): warning C4244: 'initializing' : conversion from 'sqlite_int64' to 'tRowcnt', possible loss of data ..\src\sqlite3.c(104145): warning C4244: '=' : conversion from 'i64' to 'double', possible loss of data ..\src\sqlite3.c(104170): warning C4244: '=' : conversion from 'i64' to 'double', possible loss of data Generating code Finished generating code Shell.vcxproj - X:\jonas-malaco-filho\lib\SQLite\Shell\..\bin\x86\sqlite3.exe == Rebuild All: 2 succeeded, 0 failed, 0 skipped == *Jonas Malaco Filho* 2012/11/3 Black, Michael (IS) michael.bla...@ngc.com You probably have the warning level turned up high. Up to level 3 it compiles without warnings. Level 4 starts complaining loudly. Michael D. Black Senior Scientist Advanced Analytics Directorate Advanced GEOINT Solutions Operating Unit Northrop Grumman Information Systems From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on behalf of Igor Korot [ikoro...@gmail.com] Sent: Friday, November 02, 2012 6:25 PM To: General Discussion of SQLite Database Subject: EXT :Re: [sqlite] Compiling SQLite3 with MSVC 2010 Richard, On Fri, Nov 2, 2012 at 4:14 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? I'm just trying to understand why those warnings appear and why nobody else see them on other platforms. Thank you. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Compiling SQLite3 with MSVC 2010
Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? I am getting a lot of warnings. Is there any interest in fixing those? If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Richard, On Fri, Nov 2, 2012 at 4:14 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? I'm just trying to understand why those warnings appear and why nobody else see them on other platforms. Thank you. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
On Fri, Nov 2, 2012 at 7:25 PM, Igor Korot ikoro...@gmail.com wrote: Richard, On Fri, Nov 2, 2012 at 4:14 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? SQLite is written in C, not C++. If you are trying to compile it as C++, then yes you will get a lot of warnings. And there is no guarantee that the result will work, because that is not a configuration that we test. I'm just trying to understand why those warnings appear and why nobody else see them on other platforms. Thank you. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Igor Korot wrote: I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? Out of curiosity, what warning level and compiler options are you using? -- Joe Mistachkin ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Richard, On Fri, Nov 2, 2012 at 4:32 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:25 PM, Igor Korot ikoro...@gmail.com wrote: Richard, On Fri, Nov 2, 2012 at 4:14 PM, Richard Hipp d...@sqlite.org wrote: On Fri, Nov 2, 2012 at 7:05 PM, Igor Korot ikoro...@gmail.com wrote: Hi, ALL, Is anybody trying to compile SQLite with MSVC 2010? Tests 9e and 9f at http://www.sqlite.org/checklists/3071400#c9 were performed using MSVC 2010. I am getting a lot of warnings. Is there any interest in fixing those? No. See http://www.sqlite.org/testing.html#staticanalysis for an explanation. I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? SQLite is written in C, not C++. If you are trying to compile it as C++, then yes you will get a lot of warnings. And there is no guarantee that the result will work, because that is not a configuration that we test. Yes, I understand that. But C program should compile fine whether you use C or C++ compiler. Is it not? Basically I'm trying to embed SQLite into C++ application and following advice just embedded the code in the project. Are you saying I shouldn't do that and use pre-compiled binaries? Thank you. I'm just trying to understand why those warnings appear and why nobody else see them on other platforms. Thank you. If not what is the policy of using SQLite3 code? I'm using 3.7.14 release. Thank you. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Hi, Joe, On Fri, Nov 2, 2012 at 4:34 PM, Joe Mistachkin sql...@mistachkin.com wrote: Igor Korot wrote: I just read this link. Interesting information. IIUC, all those warnings are harmless and they do not appear on other platforms. Which means that either gcc is more forgiving or that I am trying to compile my application with some very strange configuration. Or maybe it's C++11 that throws the compilation off of track? Out of curiosity, what warning level and compiler options are you using? Warning Level: /W4 Trying to compile it in the debug mode with WIN32, UNICODE, Multi-threaded Debug DLL (/MDd). Everything else is probably not important. If it is please do let me know. Thank you. -- Joe Mistachkin ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
On 2 Nov 2012, at 11:52pm, Igor Korot ikoro...@gmail.com wrote: But C program should compile fine whether you use C or C++ compiler. Is it not? I am repeatedly told that you must tell a C compiler that .c files are C files, and that .cpp files are C++ files. Compiling a C file as if it's C++ doesn't work. Fortunately, all C++ compilers I know can compile C too. Simon. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Fortunately, all C++ compilers I know can compile C too. Likely because C++ is rarely anything more than syntactic sugar on standard C ... --- () ascii ribbon campaign against html e-mail /\ www.asciiribbon.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Igor Korot wrote: Warning Level: /W4 Trying to compile it in the debug mode with WIN32, UNICODE, Multi-threaded Debug DLL (/MDd). The /W4 option produces a lot of compiler warnings, mostly related to perceived 64-bit portability issues. These warnings are harmless and can be safely ignored. Also, it is possible to adjust the warning level for a single source code file within a project using Visual Studio. In this case, the warning level for the sqlite3.c file should normally be set to /W3. -- Joe Mistachkin ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Compiling SQLite3 with MSVC 2010
Igor Korot ikoro...@gmail.com wrote: But C program should compile fine whether you use C or C++ compiler. Is it not? No. A valid C program doesn't have to be a valid C++ program. As a simplest example, C allows implicit conversion from void* to any other pointer type, while C++ does not. So it's common to see things like int* p = malloc(100 * sizeof(int)); which is valid C but invalid C++. Basically I'm trying to embed SQLite into C++ application and following advice just embedded the code in the project. Normally, a file with .c extension would be processed by a C compiler, unless explicitly configured otherwise. -- Igor Tandetnik ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users