日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中兴机顶盒子,烽火机顶盒子的交叉编译环境搭建

發布時間:2024/3/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中兴机顶盒子,烽火机顶盒子的交叉编译环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要交叉編譯,關鍵是要拿到交叉編譯的工具,每個廠家的交叉編譯工具都不一樣,但是大同小異。

?

中興的我拿到的是? STLinux-2.3.tar.tar 這樣的壓縮包

?

我解壓到我的? /home 目錄, 解壓出來后的文件夾為? STLinux-2.3_uclibc

?

下來我們需要知道的是 目標板子上的芯片類型是什么類型, 中興的為? sh4-linux-uclibc,

?

那我們就要找到 這個目標板子對應的 gcc 和 g++

?

中興的就為 sh4-linux-uclibc-gcc 和 sh4-linux-uclibc-g++

?

所在的目錄路徑如下所示 :

?

[root@localhost bin]# pwd
/home/STLinux-2.3_uclibc/devkit/sh4_uclibc/bin

?

那我們下來就把這個目錄路徑添加到 環境變量里面, 讓make的時候可以找到 這個路徑,如下所示

?

PATH=$PATH:/home/STLinux-2.3_uclibc/devkit/sh4_uclibc/bin

?

在執行 env 這個命令, 就可以看到上面的目錄路徑添加到環境變量PATH里面了。

?

?

對于一個有 configure 文件的軟件來說, 生成Makefile很簡單,只需要指定 --host CC=""? CXX="" 即可。

?

具體為:

./configure --host=sh4-linux-uclibc CC="sh4-linux-uclibc-gcc" CXX="sh4-linux-uclibc-g++"

?

下來 make 就可以了。

?

對于自己寫的 Makefile文件,思路是一樣的, 下面貼出我自己的Makefile文件對應的交叉編譯配置 :

?

CROSSPATH=/home/STLinux-2.3_uclibc/devkit/sh4_uclibc SHPREFIX=sh4-linux-uclibc- LIBPATH=./ztelib CC = ${SHPREFIX}gcc CXX = ${SHPREFIX}g++ CFLAGS = -Wall -lulockmgr -pipe -D_FILE_OFFSET_BITS=64 -D_DEBUG -DDEBUG -O2 LDFLAGS = -ldl ./ztelib/libfuse.a ${LIBPATH}/libsqlite3.a /home/STLinux-2.3_uclibc/devkit/sh4_uclibc/uclibc_target/usr/lib/libpthrea d.a /home/STLinux-2.3_uclibc/devkit/sh4_uclibc/uclibc_target/usr/lib/libc.a MODULE_INC = -I/home/fuse-2.8.3/include -I/home/sqlite-autoconf-3070500 -I./http -I${CROSSPATH}/uclibc_target/usr/include/c++/4.2 .4/ -I${CROSSPATH}/uclibc_target/usr/include/c++/4.2.4/sh4-linux-uclibc/ MODULE_LIB = -L${LIBPATH} -L./http -L${CROSSPATH}/uclibc_target/usr/lib -L${CROSSPATH}/uclibc_target CFLAGS += $(MODULE_INC) LDFLAGS += $(MODULE_LIB) LIBOBJS = debug.o hash.o fusex.o listex.o storex.o md5.o main.o markup.o http_fetcher.o TARGET = clientstore_D all: $(TARGET) $(TARGET): $(LIBOBJS)$(CXX) -o $@ $^ $(LDFLAGS)rm -fr *.orm -fr *.xml clean: rm -f *.orm -f $(TARGET)rm -f http/*.o # make rule %.o : %.c$(CC) $(CFLAGS) -c $^ -o $@ %.o : %.cpp$(CXX) $(CFLAGS) -c $^ -o $@

?

?

烽火的盒子也是一樣的原理:

?

我拿到的烽火的交叉編譯工具為 crosstools.tar

?

我也把它解壓到? /home 目錄

?

烽火的板子上的芯片為 mipsel-linux

?

我么也是找到對應的 gcc 和 g++

?

在 /home/crosstools/bin 這個目錄下面有? mipsel-linux-gcc? 和 mipsel-linux-g++

?

對于有 configure 文件的代碼來說,執行下面的命令即可生成 Makefile文件 :

./configure --host=mipsel-linux? CC="mipsel-linux-gcc"? CXX="mipsel-linux-g++"

?

然后把 /home/crosstools/bin 這個目錄添加到 環境編譯 PATH中。

?

PATH="/home/crosstools/bin:$PATH" , 然后就可以直接make了。

?

?

自己寫的Makefile文件例子如下:

CROSSPATH=/home/crosstools/bin SHPREFIX=mipsel-linux- LIBPATH=./fhlib CC = ${SHPREFIX}gcc CXX = ${SHPREFIX}g++ CFLAGS = -Wall -lulockmgr -pipe -D_FILE_OFFSET_BITS=64 -D_DEBUG -DDEBUG -O2 LDFLAGS = -ldl ./fhlib/libfuse.a ${LIBPATH}/libsqlite3.a /home/crosstools/mipsel-linux-uclibc/lib/libpthread.a /home/crosstools/mips el-linux-uclibc/lib/libc.a MODULE_INC = -I/home/fuse-2.8.3/include -I/home/sqlite-autoconf-3070500 -I/home/crosstools/mips-linux-uclibc/include/c++/4.2.0 -I/ home/crosstools/mips-linux-uclibc/include/c++/4.2.0/mips-linux-uclibc MODULE_LIB = -L${LIBPATH} -L/home/crosstools/mipsel-linux-uclibc/lib CFLAGS += $(MODULE_INC) LDFLAGS += $(MODULE_LIB) LIBOBJS = debug.o hash.o fusex.o listex.o storex.o md5.o main.o markup.o http_fetcher.o TARGET = clientstore_D all: $(TARGET) $(TARGET): $(LIBOBJS)$(CXX) -o $@ $^ $(LDFLAGS)rm -fr *.orm -fr *.xml clean: rm -f *.orm -f $(TARGET)rm -f http/*.o # make rule %.o : %.c$(CC) $(CFLAGS) -c $^ -o $@ %.o : %.cpp$(CXX) $(CFLAGS) -c $^ -o $@

?

make 后就會生成你自己所要的可以在目標板子上運行的可執行程序。

?

我在這次交叉編譯時,發現一個問題, 就是 執行 pthread_attr_init 時, Segmentation fault 程序段錯誤。 原因就是libpthread.so 文件交叉編譯的與目標板子上的版本不一致,后來我直接把 libpthread.a靜態編譯后就可以了。

?

?

?

?

?

總結

以上是生活随笔為你收集整理的中兴机顶盒子,烽火机顶盒子的交叉编译环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩乱码在线观看 | 日韩不卡在线视频 | 日韩久久久久久久久久久 | 亚洲高清在线 | 超碰在线人人 | 高h全肉污文play带道具 | 国产精品无码免费专区午夜 | 人妻熟女一区二区三区 | 亚洲成人伦理 | 毛片你懂的 | 精品无码av一区二区三区四区 | 韩国三级国产 | 女女调教被c哭捆绑喷水百合 | 3d动漫精品啪啪一区二区竹菊 | 男男gay做受xx | 欧美在线另类 | 亚洲h动漫 | 艳妇乳肉亭妇荡乳av | 欧美美女性生活视频 | 东京av男人的天堂 | 老司机免费精品视频 | 黄色av片三级三级三级免费看 | 一级黄色淫片 | 国产精品高清网站 | 激情视频一区二区 | 北条麻妃在线一区二区 | 亚洲午夜av | 有色影院 | 95精品视频 | 日本做爰三级床戏 | 极品福利视频 | 亚洲国产网 | 97超碰超碰| av第一福利 | 成人黄色小说在线观看 | 少妇一级淫片免费看 | 成人免费毛片日本片视频 | 国产日韩精品一区二区三区 | 少妇人妻无码专区视频 | 中文字幕第27页 | 六月婷婷激情 | 中文字幕在线欧美 | 黄色一级免费网站 | 嫩色av | 天天看毛片 | 国产在线视频不卡 | 日本xxx高清| 国产suv精品一区二区68 | 午夜视频在线观看国产 | 中日韩在线观看 | 永久免费未满蜜桃 | xxxx在线播放| 中文av一区二区 | 98成人网 | 成人在线观看18 | 女人一区二区三区 | 亚洲无打码| 色婷婷在线播放 | 人人搞人人 | 亚洲精品在线电影 | 999www| 在线观看国产网站 | 成人www| 亚洲熟女少妇一区 | 一级大片免费观看 | 精品国产av无码一区二区三区 | 男女插鸡视频 | 国产又粗又猛又爽又黄91 | 18岁免费观看电视连续剧 | 手机在线成人 | 综合久久综合久久 | 亚洲国产三区 | 亚洲av无码成人精品区 | 免费看女生隐私 | 97免费在线观看视频 | 亚洲国产日韩在线 | 91成人福利视频 | 嫩草视频在线观看免费 | 欧美日韩免费一区二区三区 | 亚洲图片欧美激情 | 天天色天天插 | 都市激情自拍 | 色www国产亚洲阿娇 自拍一区在线 | 91一区二区国产 | 肉丝袜脚交视频一区二区 | 成人写真福利网 | www.婷婷色 | 香蕉毛片 | 免费黄视频在线观看 | 99久久99久久 | 欧美草比视频 | 免费一级一片 | 亚洲午夜在线观看 | 校园春色av | 免费三级黄 | 38激情| 天天色影院 | 国产精品女教师 | 九草网|