2012-06-24 17 views
9

Ho compilato con successo la mia versione WinRT di SQLite per x86 as described by Tim Heuer.Come posso compilare sqlite per WinRT/ARM?

Tuttavia, sto ancora lottando su come compilare la DLL per WinRT su CPU ARM. Ho eseguito nmake con il prompt dei comandi di Visual Studio ARM, ma che appena mi dà il seguente errore:

C:\sqlite>nmake -f makefile.msc sqlite3.dll FOR_WINRT=1 OPTS=/DWINAPI_FAMILY=WIN 
API_PARTITION_APP 


Microsoft (R) Program Maintenance Utility Version 11.00.50522.1 
Copyright (C) Microsoft Corporation. All rights reserved. 

     cl.exe -W3 -DNDEBUG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS 
-O2 -Zi /DEBUG -Femkkeywordhash.exe -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_RTR 
EE=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_MAX_TRIGGER_DEPTH=100 /DWINAPI_F 
AMILY=WINAPI_PARTITION_APP .\tool\mkkeywordhash.c 
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.50522.1 for ARM 

Copyright (C) Microsoft Corporation. All rights reserved. 

mkkeywordhash.c 

Microsoft (R) Incremental Linker Version 11.00.50522.1 
Copyright (C) Microsoft Corporation. All rights reserved. 

/machine:arm 
/debug 
/out:mkkeywordhash.exe 
mkkeywordhash.obj 
     .\mkkeywordhash.exe > keywordhash.h 
This version of C:\sqlite\mkkeywordhash.exe is not compatible with the version o 
f Windows you're running. Check your computer's system information and then cont 
act the software publisher. 
NMAKE : fatal error U1077: '.\mkkeywordhash.exe' : return code '0x1' 
Stop. 

Che cosa sto facendo di sbagliato?

Grazie,

Adrian

+0

Ho intenzione di uscire su un arto e indovinare che SQLLite non isola le sue piattaforme di destinazione. Ciò significa che sono stati creati alcuni binari x86 che non sono stati ricostruiti per ARM. –

+0

Hai provato a sostituire 'mkkeywordhash.exe' con quello di x86 build? Quindi, ricostruire senza pulire. –

+0

sì, era più o meno così. Grazie! :) Se aggiungi una risposta, ti assegnerò la taglia. –

risposta

9

sono finalmente riuscito a fare questo lavoro:

  1. compilato il dll x 86 come descritto qui: http://timheuer.com/blog/archive/2012/05/20/using-sqlite-in-metro-style-app.aspx

  2. cancellato solo lo sqlite3 * file e sqlitelib (molte grazie a Banthar e Tim Heuer per il suggerimento)

  3. compilato il dll ARM dal braccio VS prompt dei comandi con questo comando:

nmake -f makefile.msc sqlite3.dll FOR_WINRT = 1 opts =/DWINAPI_FAMILY = WINAPI_PARTITION_APP

+0

cosa fa questo? OPTS =/DWINAPI_FAMILY = WIN API_PARTITION_APP – tofutim

+1

ahh, ne ho bisogno! ;) – tofutim

Problemi correlati