QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2399|回复: 5

目標板執行qt-embedded-3.3.7需要哪些(正確的)lib?lib又該放在哪個(正確的)路徑?

[复制链接]
发表于 2008-4-17 17:17:08 | 显示全部楼层 |阅读模式
你好!請教幾個問題:
一、s3c2410_root.tar.bz2,uppack後產生root文件夾,底下有個/qt文件,qt link to /usr/qt,請問這個qt文件是做什用?我使用qt-embedded會用到/qt嗎?謝謝!

二、make qt-embedded-free-3.3.7後,應該把/qt-embedded-free-3.3.7/lib整個複製到哪裡?可以只複製libqte-mt.so、libqte-mt.so.3、libqte-mt.so.3.3、libqte-mt.so.3.3.7四個文件嗎?

是複製到root文件夾底下的lib裡面? 還是另外創建/usr/qt/lib文件夾再複製到裡面?

三、我在目標板上執行qt的example,出現錯誤
./example: error : libstdc++.so.6: cannot load shared object file: No such file or directory
我該複製/usr/local/arm/3.4.1/am-linux/lib整個文件夾到root文件夾底下的lib裡面嗎?
還是另外創建/usr/qt/lib文件夾再複製到裡面?

其實,我試過複製/usr/local/arm/3.4.1/arm-linux/lib到root的lib(有些文件名衝突,我選擇不覆蓋),
也試過複製到/usr/qt/lib,兩個都會出現錯誤:
/lib/libc.so.6: version 'GLIBC_2.3' not found   /lib/libpthread.so.0: version 'GLIBC_2.3.2' ...

我複製/usr/local/arm/3.4.1/arm-linux/lib是對的嗎?還是應該複製什麼東西到目標板底下?又該複製到目標板哪個文件夾底下才是正確的?
煩請位大大指導我正確的作法及路徑?感激不盡~
 楼主| 发表于 2008-4-17 17:30:52 | 显示全部楼层
有人說是"缺少C和C++的库函数"?
如果他說得是正確的!那麼是host要添加C和C++庫函數?還是目標板要添加C和C++庫函數?
我又該添加什麼版本的C和C++的庫函數?添加到哪個路徑?到哪裡下載C和C++的庫函數?
不好意思,我懂的非常少,但盡力在學,煩請大大指教,感激不盡~
回复

使用道具 举报

 楼主| 发表于 2008-4-17 17:36:33 | 显示全部楼层
有人說"编译用的库和运行时的库不匹配":
我該怎麼讓兩者匹配?下載cross-compiler-xxx安裝在host同時複製(並覆蓋)到目標板root的/lib裡面嗎?

有人說"用uclibc,PC的交叉编译器和板子全部用这个":
我該下載哪個uclibc版本?又如何讓cross-compiler-xxx使用uclibc?uclibc也是複製(並覆蓋)到目標板root的/lib裡面嗎?
回复

使用道具 举报

发表于 2008-4-17 19:51:03 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2008-4-18 07:17:20 | 显示全部楼层
謝謝你, ksh!我的問題已經解決了!再請問,我要怎麼查詢我的rootfs版本?uname?root有分版本的嗎?
之前使用arm-linux-gcc-3.4.1編譯器,目標板執行./hello一直出現錯誤:
./hello: /lib/libc.so.6: version 'GLIBC_2.3' not found.....
./hello: /lib/libpthread.so.0: version 'GLIBC_2.3' not found.....
./hello: /lib/libc.so.6: version 'GLIBC_2.2.4' not found.....
.....
現在換成arm-linux-gcc-2.95.3,就成功了!不知道是3.4.1有問題?還是我的步驟有錯!我再使用3.4.1編譯一次試試看!


我最後的qt-embedded solution:
(我的系統:Ubuntu 7.10 qutsy + QT2410目標板 + vivi + s3c2410_kernel-2.4.18 + s3c2410_root。)
arm-linux-gcc-2.95.3編譯qt-embedded-3.3.7及qt-embedded-3.3.7底下的hello,
把編譯好的hello文件夾複製到/rootfs/usr文件夾(文件夾名稱可自訂義惟環境變量須同步定義)底下,
把編譯好的/qt-embedded-3.3.7/lib底下產生的libqte-mt.so、libqte-mt.so.3、libqte-mt.so.3.3、libqte-mt.so.3.3.7及fonts文件夾(可利用makeqpf裁剪fonts's size)複製到/roofs/usr/qtE-3.3.7/lib(文件夾名稱可自訂義惟環境變量須同步定義)
./mkcramfs rootfs qte.cramfs  (我沒有使用nfs), 上傳qte.camfs至目標板(約20分鐘)
目標板執行
#ln -s /dev/fb/0 /dev/fb0
#export QTDIR=/usr/qtE-3.3.7
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
#./hello -qws  (到hello文件夾下執行)
LCD成功顯示hello, world(彩色字樣還會漂移)!

[ 本帖最后由 aUmbrella 于 2008-4-18 08:00 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2008-4-18 17:54:18 | 显示全部楼层
沒錯!我確定我的系統:Ubuntu 7.10 qutsy + QT2410目標板 + vivi + s3c2410_kernel-2.4.18 + s3c2410_root:
使用arm-linux-gcc-3.4.1編譯qt-embedded-3.3.7以及
使用arm-linux-gcc-3.4.1編譯qt's example,在目標板執行都會出錯:
./hello: error while loading shared libraries: libstdc++.s0.6: cannot load shared object file: N.....

只要使用arm-linux-gcc-2.95.3編譯qt-embedded-3.3.7以及example,目標板就能成功執行qt program。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 10:19 , Processed in 0.040780 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表