Thanks all who answered.

Yes... it seems a MSVC limitation, however, it is very strange. I am using 
Visual Studio 2008 which does support ARM compilation.  I did that, adding some 
compiler switches for target WIN32_CE but I got million of warnings, of this 

sqlite3.c(166) : warning C4005: 'OS_VXWORKS' : macro redefinition
        sqlite3.c(158) : see previous definition of 'OS_VXWORKS'
sqlite3.c(216) : warning C4005: 'GCC_VERSION' : macro redefinition
        sqlite3.c(214) : see previous definition of 'GCC_VERSION'
sqlite3.c(222) : warning C4005: 'CLANG_VERSION' : macro redefinition
        sqlite3.c(220) : see previous definition of 'CLANG_VERSION'
sqlite3.c(227) : warning C4005: 'MSVC_VERSION' : macro redefinition
        sqlite3.c(225) : see previous definition of 'MSVC_VERSION'
sqlite3.c(10924) : warning C4005: 'SQLITE_DEFAULT_PAGE_SIZE' : macro 
        sqlite3.c(10920) : see previous definition of 'SQLITE_DEFAULT_PAGE_SIZE'
sqlite3.c(10939) : warning C4005: 'SQLITE_MAX_DEFAULT_PAGE_SIZE' : macro 
        sqlite3.c(10935) : see previous definition of 
sqlite3.c(11015) : warning C4005: 'SQLITE_INT_TO_PTR' : macro redefinition
        sqlite3.c(11012) : see previous definition of 'SQLITE_INT_TO_PTR'
sqlite3.c(11016) : warning C4005: 'SQLITE_PTR_TO_INT' : macro redefinition
        sqlite3.c(11013) : see previous definition of 'SQLITE_PTR_TO_INT'
sqlite3.c(11018) : warning C4005: 'SQLITE_INT_TO_PTR' : macro redefinition
        sqlite3.c(11015) : see previous definition of 'SQLITE_INT_TO_PTR'
sqlite3.c(11019) : warning C4005: 'SQLITE_PTR_TO_INT' : macro redefinition
        sqlite3.c(11016) : see previous definition of 'SQLITE_PTR_TO_INT'
sqlite3.c(11021) : warning C4005: 'SQLITE_INT_TO_PTR' : macro redefinition

I need to compile this for Windows Mobile ARM device. Is there another way to 
do it by mean of other compiler that works in Windows? I need to use Windows 
since the output file should be a DLL.

By opening sqlite3.c I found directives such as this:

if defined(_MSC_VER) && _MSC_VER>=1400

That suggests me that the code is prepared for MSVC also, but it is not 

Does somebody have experience compiling this in MSVC?


-----Original Message-----
From: sqlite-users [] On 
Behalf Of Joseph Stockman
Sent: lunes, 20 de marzo de 2017 18:34
To: SQLite mailing list <>
Subject: Re: [sqlite] SQLite does not support ARM platform?

This is a Visual Studio/Microsoft issue. We have been building SQLite on ARM 7 
and 9 for almost ten years across a wide variety of (non-Microsoft) operating 


From: sqlite-users [] on behalf of 
Jaime Stuardo []
Sent: Monday, March 20, 2017 4:24 PM
To: 'SQLite mailing list'
Subject: [sqlite] SQLite does not support ARM platform?


I have finally given up. After almost all day trying to compile SQLite 
amalgamated source code files for ARM platform I got the conclusion that SQLite 
is not for ARM platform, even when documentation says the contrary. I have VS 
2008 and I tried to compile some C++ wrappers out there that contains 
amalgamated files but with no success

I tried several command line parameters, but nothing.

Last try was, by using only amalgamated files (shell.c, sqlite3.c, sqlite3.h, 
sqlite3ext.h). There is no science with this. I open a VS2008 command prompt 
and VS2012 ARM Command prompt and compile with:

"cl sqlite3.c -link -dll -out:sqlite3.dll -machine:ARM"

In both cases, I got this error:

"crtdefs.h(338) : fatal error C1189: #error :  Compiling Desktop applications 
for the ARM platform is not supported."

That took  me to the conclusion about SQLite is only for Desktop applications, 
which is very bad. Is there another alternative or trick to make it compile for 
ARM platform?


sqlite-users mailing list
 This message is for the addressee's use only. It may contain confidential 
information. If you receive this message in error, please delete it and notify 
the sender. Tripp Lite disclaims all warranties and liabilities, and assumes no 
responsibility for viruses which may infect an email sent to you from Tripp 
Lite and which damage your electronic systems or information. It is your 
responsibility to maintain virus detection systems to prevent damage to your 
electronic systems and information.
sqlite-users mailing list

sqlite-users mailing list

Reply via email to