編譯 wireless tools
history:
2013-1-5 chenchengtian created
wireless tools 是linux下的無線組態工具,目的是好用。對於使用者而言,只要敲敲命令就可以搞掂的事情,最好不要通過修改設定檔來完成吧。
wirless tools 提供了 iwlist iwconfig等工具,如果是在linux平台下使用的話,那就make all就可以把工具編完了,安裝的話,就make install了;但是如果是在其他平台,就是要用交叉編譯了。
筆者這裡玩的是mips的平台的裝置,編譯器用 mips-linux-gnu- ,並且只支援小端。這裡要編的話就要改改 wireless tools
中的Makefile了。否則難免也出現如
運行時出現
./iwconfig: line 1: syntax error: unexpected "("
或者編譯時間出現:
/opt/mips-4.3/bin/../lib/gcc/mips-linux-gnu/4.3.2/../../../../mips-linux-gnu/bin/ld: BFD (Sourcery G++ Lite 4.3-51) 2.18.50.20080215 assertion fail /scratch/clm/2008q3-lite/obj/binutils-src-4.3-51-mips-linux-gnu-i686-pc-linux-gnu/bfd/elfxx-mips.c:2655
其主要修改交叉編譯器,編譯選項及一個動態庫問題。
1 修改交叉編譯器
## Compiler to use (modify this for cross compile).
CC = mips-linux-gnu-gcc
## Other tools you need to modify for cross compile (static lib only).
AR = mips-linux-gnu-ar
RANLIB = mips-linux-gnu-ranlib
2 修改編譯選項
其中 XCFLAGS 後面加上-EL 等,根據實際上的板子來加吧,如果你的板子不是小端的,那就不用加了。
3 動態庫的修改
筆者不確定其他用的板子支不支援這個動態庫,如果需要改的話,只要改 BUILD_STATIC = y 這個即可完成。
編譯完成後,在裝置上跑了一把,測試通過。
小結:有了從網上下載源碼,然後,交叉編譯產生目標板的可執行檔的經驗。對日後的開發極其有益,因為Z國有全世界最大的區域網路喲。