這兩天專案需要在嵌入式linux系統上實現tinyxml解析簡單的xml檔案,於是在網上查詢並收集了一點資料,現在補充完善!
版本:tinyxml_2_6_2.zip
首先修改 makefile檔案:
(1)將"cxx:=g++"改為"cxx:=arm-linux-g++""cc:=arm-linux-gcc"
"ld:=arm-linux-g++","ranlib:=arm-linux-ranlib"即將編譯器由g++改為交叉編譯器;
(3)將xmltest.cpp從"srcs:=tinyxml.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp"中刪除,注釋掉"xmltest.o:tinyxml.h tinystr.h"。因為不需要將演示程式新增到動態庫中;
(4)在"$-o$@$$$"語句的"$-o$@$$$"改為"$$@ $ $ $"
修改完成後,執行make命令就可以在當前目錄生成需要的靜態鏈結庫檔案libtinyxml.a,也可以根據需要把tinyxml編譯成靜態庫檔案。靜態鏈結庫只在編譯時加入至編譯命令即可,amr-linux-g++ test –static –o test.cpp ./libtinyxml.a
,即可生成test檔案,有用是靜態編譯,生成可執行檔案較大,拷貝到嵌入式系統中即可。
後記:在移植tinyxml過程中,發現對shell指令不熟悉,沒有區分好空格和tab鍵導致出錯,後來在交叉編譯靜態鏈結庫時,沒有加入-static選項,生成可執行檔案後無法執行出錯,出錯,都是需要不斷積累的。
引文:《基於tinyxml的嵌入式linux》
基於TinyXml的嵌入式Linux
引 言 用自動化抄表代替人工抄表是實現智慧型樓宇的重要手段。傳統的ic卡預付費方式雖然實施方便,但會有卡槽汙染 卡易磨損以及安全性差等缺點,同時也無法實時地監控使用者的用電情況 廉價方便的雙向電力線載波抄表方式由於受電網汙染的影響,難以大面積推廣 專用有線網路實現遠端抄表方式,則會帶來投資規模大 施...
gdbserver遠端除錯嵌入式Linux裝置
然而,有些情況下嵌入式裝置的硬體資源很有限,比如我手頭的這個裝置,總的rom空間只有16.5mb,韌體,一些系統程式加一些庫就占去了13mb 這樣我可以用的空間就只剩下3mb,而乙個交叉編譯得到的gdb二進位制大小有將近9mb,顯然是放不進去的了。所以聰明的人類想到了另一種方法gdbserver g...
非嵌入式與嵌入式的區別
非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...