Re: [sqlite] SQLite does not support ARM platform?
What are you smoking? Do you feel good? -Original Message- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Jens Alfke Sent: martes, 21 de marzo de 2017 2:01 To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> Subject: Re: [sqlite] SQLite does not support ARM platform? > On Mar 20, 2017, at 3:38 PM, Jaime Stuardo <jstua...@desytec.com> wrote: > > 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? You’re using a nine-year-old compiler, and targeting an OS that’s been obsolete for years. There’s nothing intrinsically wrong with that (retro computing is cool!), but if something goes wrong you really shouldn’t blame the (up-to-date) software you’re trying to compile. I’m sure if I tried to compile SQLite for a Macintosh SE using a version of Lightspeed C from 1990, I’d have worse problems ;-) —Jens ___ 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
Re: [sqlite] SQLite does not support ARM platform?
> On Mar 20, 2017, at 3:38 PM, Jaime Stuardowrote: > > 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? You’re using a nine-year-old compiler, and targeting an OS that’s been obsolete for years. There’s nothing intrinsically wrong with that (retro computing is cool!), but if something goes wrong you really shouldn’t blame the (up-to-date) software you’re trying to compile. I’m sure if I tried to compile SQLite for a Macintosh SE using a version of Lightspeed C from 1990, I’d have worse problems ;-) —Jens ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite does not support ARM platform?
Thanks a lot... I have finally got it to compile (DLL was generated), but a lot of warnings appeared. Warnings of all of this kind: "warning C4244: 'function' : conversion from 'i64' to 'int', possible loss of data c:\WorkingFolder\Proyectos\Lean\RFID\SQLite3\btree.c " " warning C4244: 'function' : conversion from 'i64' to 'u32', possible loss of data c:\WorkingFolder\Proyectos\Lean\RFID\SQLite3\btree.c " "warning C4018: '>' : signed/unsigned mismatch c:\WorkingFolder\Proyectos\Lean\RFID\SQLite3\btree.c" And a lot of similar warnings. 82 in total. Can I safely ignore them? Regards Jaime -Original Message- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Jim Borden Sent: lunes, 20 de marzo de 2017 19:54 To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> Subject: Re: [sqlite] SQLite does not support ARM platform? Oh, you are talking about WinCE? I don’t think you should be thinking in terms of “ARM vs non-ARM” but rather “X platform vs Y platform.” As others have noted, sqlite obviously runs on ARM and the issue is not with sqlite but with the way you are trying to compile it or the platform you are trying to compile it for. It totally slipped my mind that WinCE would probably be ARM as well (and honestly I didn’t even realize it was still around!). I think WinCE has its own build for sqlite: http://sqlite-wince.sourceforge.net/ probably due to rather extreme limitations. On 2017/03/21 7:41, "sqlite-users on behalf of Jaime Stuardo" <sqlite-users-boun...@mailinglists.sqlite.org on behalf of jstua...@desytec.com> wrote: I use to develop mobile applications for years using VS 2008, and in fact, I have just developed a MFC C++ application that runs in the ARM machine without problem. I need to use SQLite3 for my application. That is why I need to compile it. > On 20 Mar 2017, at 23:17, Jaime Stuardo <jstua...@desytec.com> wrote: > > 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. > Given that Windows for ARM was released around 2013 (if I remember correctly), I doubt that MSVC2008 will do. Sadly, GCC doesn’t support ARM for Windows as a target, and clang is on the way, but wasn’t ready yet last time I checked. That being said, Windows for ARM/Windows RT doesn’t support “Desktop applications”. Is there any reason why need to have a DLL, and not the prebuilt package? I’d understand the need for native code, but then I’m not sure you can do that with anything earlier than Visual Studio 2013 > By opening sqlite3.c I found directives such as this: > > if defined(_MSC_VER) && _MSC_VER>=1400
Re: [sqlite] SQLite does not support ARM platform?
Ahh, ok, you're not actually trying to target Windows RT - you're trying to target Windows CE. That makes (a LOT) more sense. The technical problem you have is that you're running into a Windows RT error there. You'll get the same behavior simply if you do this: C:\test>copy con test.c #include ^Z 1 file(s) copied. C:\test>cl test.c test.c C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\corecrt.h(205): fatal error C1189: #error: Compiling Desktop applications for the ARM platform is not supported. The way to get around that for WinRT is to specify: /DWINAPI_FAMILY=WINAPI_FAMILY_APP So e.g. cl test.c /DWINAPI_FAMILY=WINAPI_FAMILY_APP However, this is probably not what you want... you want the SQLITE build for Windows CE - it's up on the site. - Deon -Original Message- From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Jaime Stuardo Sent: Monday, March 20, 2017 3:39 PM To: 'SQLite mailing list' <sqlite-users@mailinglists.sqlite.org> Subject: Re: [sqlite] SQLite does not support ARM platform? 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 pr
Re: [sqlite] SQLite does not support ARM platform?
Oh, you are talking about WinCE? I don’t think you should be thinking in terms of “ARM vs non-ARM” but rather “X platform vs Y platform.” As others have noted, sqlite obviously runs on ARM and the issue is not with sqlite but with the way you are trying to compile it or the platform you are trying to compile it for. It totally slipped my mind that WinCE would probably be ARM as well (and honestly I didn’t even realize it was still around!). I think WinCE has its own build for sqlite: http://sqlite-wince.sourceforge.net/ probably due to rather extreme limitations. On 2017/03/21 7:41, "sqlite-users on behalf of Jaime Stuardo"wrote: I use to develop mobile applications for years using VS 2008, and in fact, I have just developed a MFC C++ application that runs in the ARM machine without problem. I need to use SQLite3 for my application. That is why I need to compile it. > On 20 Mar 2017, at 23:17, Jaime Stuardo wrote: > > 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. > Given that Windows for ARM was released around 2013 (if I remember correctly), I doubt that MSVC2008 will do. Sadly, GCC doesn’t support ARM for Windows as a target, and clang is on the way, but wasn’t ready yet last time I checked. That being said, Windows for ARM/Windows RT doesn’t support “Desktop applications”. Is there any reason why need to have a DLL, and not the prebuilt package? I’d understand the need for native code, but then I’m not sure you can do that with anything earlier than Visual Studio 2013 > 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 ___ 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
Re: [sqlite] SQLite does not support ARM platform?
I use to develop mobile applications for years using VS 2008, and in fact, I have just developed a MFC C++ application that runs in the ARM machine without problem. I need to use SQLite3 for my application. That is why I need to compile it. > On 20 Mar 2017, at 23:17, Jaime Stuardowrote: > > 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. > Given that Windows for ARM was released around 2013 (if I remember correctly), I doubt that MSVC2008 will do. Sadly, GCC doesn’t support ARM for Windows as a target, and clang is on the way, but wasn’t ready yet last time I checked. That being said, Windows for ARM/Windows RT doesn’t support “Desktop applications”. Is there any reason why need to have a DLL, and not the prebuilt package? I’d understand the need for native code, but then I’m not sure you can do that with anything earlier than Visual Studio 2013 > 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 ___ 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
Re: [sqlite] SQLite does not support ARM platform?
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
Re: [sqlite] SQLite does not support ARM platform?
> On 20 Mar 2017, at 23:17, Jaime Stuardowrote: > > 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. > Given that Windows for ARM was released around 2013 (if I remember correctly), I doubt that MSVC2008 will do. Sadly, GCC doesn’t support ARM for Windows as a target, and clang is on the way, but wasn’t ready yet last time I checked. That being said, Windows for ARM/Windows RT doesn’t support “Desktop applications”. Is there any reason why need to have a DLL, and not the prebuilt package? I’d understand the need for native code, but then I’m not sure you can do that with anything earlier than Visual Studio 2013 > 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 ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
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
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 ___
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
Re: [sqlite] SQLite does not support ARM platform?
Hi, > On 20 Mar 2017, at 22:24, Jaime Stuardowrote: > > 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 > sqlite totally supports ARM, we use it & build it ourselves for VLC on android, and even the android SDK provides a way to use sqlite IIRC. > 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.” > Seems that you’re trying to compile sqlite for an ARM application without settings the proper flags to point MSVC at a store application. Either you’re building for a store app, and you should be able to use some prebuild version (https://www.sqlite.org/2017/sqlite-uwp-317.vsix) or you’re building for a desktop app, and there is no desktop apps on WindowsRT/Windows for ARM. > 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? > Don’t know about windows, but using the algamated version and autotools, it should be as easy as ./configure —host= && make > Thanks > Jaime > > ___ > 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
Re: [sqlite] SQLite does not support ARM platform?
You are encountering a limitation of the compiler you are using, not a limitation of SQLite (which compiles for ARM just fine). The error message is telling you that Microsoft does not support desktop applications compiled for ARM. What environment are you trying to compile for? -- E On Mon, Mar 20, 2017 at 4:24 PM, Jaime Stuardowrote: > 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 > ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite does not support ARM platform?
That error has nothing to do with SQLite, really. SQLite is deployed on ARM platforms and ships as a system library on iOS. It sounds like you are running into this -> https://stackoverflow.com/questions/11151474/can-arm-desktop-programs-be-built-using-visual-studio-2012 Keep in mind that Visual Studio ARM development is fairly new. There was absolutely no support for it as far as I know before 2012 and the introduction of Windows ARM tablets, and even then the things you could do with it were extremely limited. On 2017/03/21 6:24, "sqlite-users on behalf of Jaime Stuardo"wrote: 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 ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] SQLite does not support ARM platform?
> Am 20.03.2017 um 22:24 schrieb Jaime Stuardo: > > 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,… Really? I do that now for over 1.5 years. With GCC on Linux for Raspberry Pi. > In both cases, I got this error: > > "crtdefs.h(338) : fatal error C1189: #error : Compiling Desktop applications > for the ARM platform is not supported." > Is that a Visual Studio thing? Maybe you check those .h files for what they are about. Is that maybe a Visual Studio header and you do something Microsoft doesn’t support? Sincerely Christian -- Read our blog about news on our plugins: http://www.mbsplugins.de/ ___ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
[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