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 檔就會被正確判定了。