如何为 WinRT/ARM 编译 sqlite?
我已经成功地为 x86 编译了我的 WinRT 版本的 SQLite 如 Tim Heuer 所述.
I've successfully compiled my WinRT version of SQLite for x86 as described by Tim Heuer.
但是,我仍然在苦苦思索如何在 ARM CPU 上为 WinRT 编译 dll.我已经在 Visual Studio ARM 命令提示符下运行了 nmake,但这只是给了我以下错误:
However, I am still struggling how to compile the dll for WinRT on ARM CPUs. I've run nmake with the Visual Studio ARM command prompt, but that just gives me the following error:
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.
我做错了什么?
谢谢,
阿德里安
推荐答案
我终于成功了:
按照此处所述编译 x86 dll:http://timheuer.com/blog/archive/2012/05/20/using-sqlite-in-metro-style-app.aspx
只删除了 sqlite3* 文件和 sqlitelib(非常感谢 Banthar 和 Tim Heuer 的提示)
Deleted only the sqlite3* files and the sqlitelib (many thanks to Banthar and Tim Heuer for the hint)
使用以下命令从 ARM VS 命令提示符编译 ARM dll:
Compiled the ARM dll from the ARM VS command prompt with this command:
nmake -f makefile.msc sqlite3.dll FOR_WINRT=1 OPTS=/DWINAPI_FAMILY=WINAPI_PARTITION_APP
nmake -f makefile.msc sqlite3.dll FOR_WINRT=1 OPTS=/DWINAPI_FAMILY=WINAPI_PARTITION_APP
相关文章