解決一個國際化標准庫的問題


W3A系統缺乏亮點,突發奇想想到一個新的東西,別人沒做過的功能,准備嘗試下。

居然發現該功能缺乏一些QT庫,瞬間茫然了,開始了這個解決之旅。

這個是報的錯誤:

Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.48: 無法打開共享對象文件: 沒有那個文件或目錄)" 

對此很是無奈,所以我去翻了/usr/lib/的庫,找下看看有沒有,結果還真沒有。

root@securityserver:~# ls -lh /usr/lib/libicu*
ls: 初始化月份字符串出錯
ls: 無法訪問/usr/lib/libicu*: 沒有那個文件或目錄

由於不清楚該庫的具體名稱,所以GG之,后來GG被牆了。所以被迫百度之。。結果百度的答案讓人無比蛋騰。

抽根煙等了下,終於打開GG,搜索之,發現該庫是一個國際化標准庫,要使用QT的話,就需要使用到它。

目前有兩種解決方案:1.在軟件上禁止/屏蔽這個庫 2.想辦法安裝這個庫,讓它能跑起來。

前者可能會導致軟件不問題,甚至不能執行等問題,我就不嘗試了,我選后者。

最后成功解決該問題,需要安裝這個國際化標准庫,一開始不知道它名稱,GG之,找到的。

root@securityserver:~# sudo apt-get install libicu48
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹       
正在讀取狀態信息... 完成       
下列【新】軟件包將被安裝:
  libicu48
升級了 0 個軟件包,新安裝了 1 個軟件包,要卸載 0 個軟件包,有 140 個軟件包未被升級。
需要下載 8,103 kB 的軟件包。
解壓縮后會消耗掉 22.2 MB 的額外空間。
獲取:1 http://cn.archive.ubuntu.com/ubuntu/ precise/main libicu48 amd64 4.8.1.1-3 [8,103 kB]
下載 8,103 kB,耗時 7秒 (1,114 kB/s)                                                        
Selecting previously unselected package libicu48.
(正在讀取數據庫 ... 系統當前共安裝有 59122 個文件和目錄。)
正在解壓縮 libicu48 (從 .../libicu48_4.8.1.1-3_amd64.deb) ...
正在設置 libicu48 (4.8.1.1-3) ...
正在處理用於 libc-bin 的觸發器...

安裝成功后的效果:

root@securityserver:~# ls -lh /usr/lib/libicu*
ls: 初始化月份字符串出錯
lrwxrwxrwx 1 root root   20  1�� 26  2012 /usr/lib/libicudata.so.48 -> libicudata.so.48.1.1
-rw-r--r-- 1 root root  18M  1�� 26  2012 /usr/lib/libicudata.so.48.1.1
lrwxrwxrwx 1 root root   20  1�� 26  2012 /usr/lib/libicui18n.so.48 -> libicui18n.so.48.1.1
-rw-r--r-- 1 root root 1.8M  1�� 26  2012 /usr/lib/libicui18n.so.48.1.1
lrwxrwxrwx 1 root root   18  1�� 26  2012 /usr/lib/libicuio.so.48 -> libicuio.so.48.1.1
-rw-r--r-- 1 root root  51K  1�� 26  2012 /usr/lib/libicuio.so.48.1.1
lrwxrwxrwx 1 root root   18  1�� 26  2012 /usr/lib/libicule.so.48 -> libicule.so.48.1.1
-rw-r--r-- 1 root root 211K  1�� 26  2012 /usr/lib/libicule.so.48.1.1
lrwxrwxrwx 1 root root   18  1�� 26  2012 /usr/lib/libiculx.so.48 -> libiculx.so.48.1.1
-rw-r--r-- 1 root root  47K  1�� 26  2012 /usr/lib/libiculx.so.48.1.1
lrwxrwxrwx 1 root root   20  1�� 26  2012 /usr/lib/libicutest.so.48 -> libicutest.so.48.1.1
-rw-r--r-- 1 root root  61K  1�� 26  2012 /usr/lib/libicutest.so.48.1.1
lrwxrwxrwx 1 root root   18  1�� 26  2012 /usr/lib/libicutu.so.48 -> libicutu.so.48.1.1
-rw-r--r-- 1 root root 141K  1�� 26  2012 /usr/lib/libicutu.so.48.1.1
lrwxrwxrwx 1 root root   18  1�� 26  2012 /usr/lib/libicuuc.so.48 -> libicuuc.so.48.1.1
-rw-r--r-- 1 root root 1.4M  1�� 26  2012 /usr/lib/libicuuc.so.48.1.1

實驗環境是自己搭建的ubuntu server.亂碼那是必須有的。因為系統編碼問題,我用SSH登錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM