When I build my own program using Visual Studio 2008 IDE to be run in the device, it compiles perfectly and also it runs perfectly in the machine. So there is nothing wrong with that.
I tried to compile sqlite3.c using the same command line parameters I saw in project properties in VS2008 but without success. Last try was this command line: "cl sqlite3.c /O2 /Os /D "NDEBUG" /D "WIN32_PLATFORM_PSPC" /D "WINCE" /D "ARM" /D "_ARM_" /D "POCKETPC2003_UI_MODEL" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MT /fp:fast /GR- /link /dll /machine:THUMB" But the error is: "sqlite3.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'THUMB'" I use THUMB as the machine, because my own C++ project uses THUMB as the machine type and that works. That is why I suspect about SQLite3 to be really multiplatform. Why can my own C++ program, that is not small, be successfully compiled and then run in the machine? Why cannot SQLite source code? I only need to generate the LIB file to add it to my project and the DLL file to copy to the machine. What command line do you use for your target machine? Regards Jaime -----Original Message----- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Deon Brewis Sent: lunes, 20 de marzo de 2017 19:25 To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> Subject: Re: [sqlite] SQLite does not support ARM platform? "That suggests me that the code is prepared for MSVC also, but it is not actually." The SQLITE code works just fine on an MSVC build. Have been using it for many years. What platform are you targeting? The MSVC ARM compiler is only meant for Windows RT devices - is that really what you're trying to build for? - Deon -----Original Message----- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Jaime Stuardo Sent: Monday, March 20, 2017 3:17 PM To: 'SQLite mailing list' <sqlite-users@mailinglists.sqlite.org> Subject: Re: [sqlite] SQLite does not support ARM platform? 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 type: 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 redefinition sqlite3.c(10920) : see previous definition of 'SQLITE_DEFAULT_PAGE_SIZE' sqlite3.c(10939) : warning C4005: 'SQLITE_MAX_DEFAULT_PAGE_SIZE' : macro redefinition sqlite3.c(10935) : see previous definition of 'SQLITE_MAX_DEFAULT_PAGE_SIZE' 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 actually. Does somebody have experience compiling this in MSVC? Regards Jaime -----Original Message----- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Joseph Stockman Sent: lunes, 20 de marzo de 2017 18:34 To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> 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 systems. V. ________________________________________ From: sqlite-users [sqlite-users-boun...@mailinglists.sqlite.org] on behalf of Jaime Stuardo [jstua...@desytec.com] Sent: Monday, March 20, 2017 4:24 PM To: 'SQLite mailing list' Subject: [sqlite] SQLite does not support ARM platform? Hello, 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? Thanks Jaime _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users ________________________________ 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@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users