|
我现在手头有这么一个问题,我想让一个操作sqlite3的程序在一个ARM板子上跑起来,板子上的os是wince5.0。
我是这么做的,我先从sqlite3主页下载源码下来,有这么3个文件:sqlite3.c、sqlite3.h、sqlite3ext.h ,还有一个叫sqlitedll-3_6_16.zip的压缩包,里面包括sqlite3.def、sqlite3.dll(官网下载提示说这个dll是for windows的)
然后根据移植Qt的经验,我想应该是在交叉编译前,将LINK属性内的依赖项加上ARM平台的sqlite3.lib文件(这个库文件,我用vc下bin目录中的lib.exe程序根据sqlite3.def文件,然后指定MACHINE:ARM生成的),然后将编译生成好的exe程序与相关的dll拷贝到板子上即可。
于是我也就这么做了,将所需要的dll与生成的exe拷贝到板子上运行,结果提示该应用程序不是有效的windows ce的应用程序。我猜想问题可能出在sqlite3.dll上,所以就将刚才那个程序去掉对数据库的所有操作,以及相关的依赖项,再次生成exe拷贝到板子上,结果运行成功。
于是我问了几个师兄,确认了一次我的猜想:需要对应平台上的dll。于是我想到你上课提到可以用IDE生成dll,于是我使用vs、evc,结果总是各种错误导致失败。
不知道我这么个思路对不对,是否是需要自己生成所需的dll?通过官方提供的这些源代码和文件又如何生成所需的dll呢?是否有相关的文档资料可以参考?
|
|