TAG

首都機能移轉 (2) 歌詞 (2) 靠北文 (40) 戲言 (30) 糟糕 (7) ACG (23) Assembly (2) Boost (2) C (31) C++ (69) CMake (4) CSIE (67) Debian (34) Design_Pattern (2) Django (1) Eclipse (1) en_US (13) FFmpeg (3) FoolproofProject (26) FreeBSD (2) Git (4) GNU_Linux (65) IDE (5) Java (11) JavaScript (19) KDE (15) Khopper (16) KomiX (3) Kubuntu (18) Life (1) Lighttpd (2) Mac_OS_X (2) Opera (1) PHP (2) PicKing (2) Programing (21) Prolog (1) Python (7) QSnapshot (2) Qt (30) Qt_Jambi (1) Regular_Expression (1) Shell_Script (7) Talk (98) VirtualBox (7) Visual_Studio (13) Windows (18) zh_TW (36)

2010年10月11日 星期一

Build Qt with Visual C++ 2010

在開始前要特別一提的是在 configure -help 未提及的參數:
-prefix <path>
指定編譯完成後的安裝路徑,nmake install 時會安裝到這個路徑。
-nomake <libs|tools|examples|demos|docs|translations>
可以指定哪部分不需要編譯。要注意的是如果要關掉多個模組須分開指定。
為了讓編譯程序能夠加快,我對 mkspecs 做了一點手腳。找到 mkspecs\win32-msvc2010\qmake.conf,修改:
-QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t-
+QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t- -MP3
-QMAKE_CFLAGS_RELEASE    = -O2 -MD
+QMAKE_CFLAGS_RELEASE    = -Ox -MD
提高最佳化參數,並啟動多重編譯。另外有點白爛的是,在編譯階段它會去安裝路徑找 mkspecs,問題是根本還沒進入安裝階段,資料夾內當然是空空如也;為此你必須手動把 mkspecs 從原本的資料夾整個複製到安裝路徑裡。

2010年10月6日 星期三

Fix the jar file association for shared-mime-info

Java 的 jar 檔案關聯在 Debian 和 Kubuntu 上一直都被視為 application/zip,基本上這不是 KDE 的問題,而是 shared-mime-info 裡面的 /usr/share/mime/packages/freedesktop.org.xml 的判定條件錯誤,它沒有判斷 jar 檔的 PKZIP 表頭。打開這個檔案,找到 <mime-type type="application/x-java-archive"> 的區段,加入:
<magic priority="85">
  <match value="PK\003\004" type="string" offset="0" />
</magic>
再刷新 MIME 資料庫:
# update-mime-database /usr/shared/mime
jar 檔就會被正確判定了。