我試圖使用SQLite-3.7.2交叉編譯它在兩臺機器,一臂的Linux和的XScale系統,我一直在使用交叉編譯./以非常正常的方式爲兩個系統配置,指示主機編譯。SQLITE3問題與ARM-Linux的浮點
問題是我在數據庫上有一些REAL值。我得到xscale系統的正確值,但在arm7我得到一個不正確的值爲那些有小數部分,我的意思是;
如果我有我的數據庫表:
REAL 2.00
REAL 2.02
當我選擇這些值,我得到:
2.00
-4310086189061.12
對於xscale工作正常,所以我想這是一個用於arm的sqlite編譯問題。
我做了一個研究,我沒有發現這麼多,只是這樣的: http://www.mail-archive.com/[email protected]/msg40528.html 凡建議使用-DSQLITE_MIXED_ENDIAN_64BIT_FLOAT = 1國旗編譯的時候,但我不能找到它的代碼和無法將其添加到configure或Makefie.am文件中。
我會很感激,如果有人對這個問題的任何解決方案或信息,因爲我完全被卡住
謝謝你這麼多
JC
編輯: 解決方案,爲我工作,前交叉編譯sqlite3的,定義了對環境的變量CFLAGS:
$ CFLAGS = 「 - DSQLITE_MIXED_ENDIAN_64BIT_FLOAT = 1 -DSQLITE_DEBUG = 1」
$ 出口CFLAGS
OK,我發現在sqlite3.c這個變量在# undef聲明,我不知道我在代碼搜索上做了什麼錯誤。我將再次編譯sqlite3並激活此變量,並希望能夠正常工作。 – Jucar 2011-04-19 10:06:21
我仍然有同樣的問題,任何想法? – Jucar 2011-04-19 11:42:22
對於那些可能有同樣問題的人,我終於解決了。在代碼解釋標誌SQLITE_MIXED_ENDIAN_64BIT_FLOAT是什麼問題。要解決這個問題,有必要在CFLAGS環境中定義這個標誌(-DSQLITE_MIXED_ENDIAN_64BIT_FLOAT = 1)和標誌-DSQLITE_DEBUG = 1,這個最後的標誌保證得到正確的值。因此,$ CFLAGS =「 - DSQLITE_MIXED_ENDIAN_64BIT_FLOAT = 1 -DSQLITE_DEBUG = 1」和$ export CFLAGS – Jucar 2011-04-20 11:56:44