<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hao&#039;s Blog &#187; Programming</title>
	<atom:link href="http://www.haostudio.idv.tw/blog/?cat=4&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://www.haostudio.idv.tw/blog</link>
	<description>小豪的日誌</description>
	<lastBuildDate>Thu, 10 Nov 2016 10:53:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在Linux 環境中安裝Qt Library. (build from Qt source code)</title>
		<link>https://www.haostudio.idv.tw/blog/?p=414</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=414#comments</comments>
		<pubDate>Thu, 14 Jul 2011 06:04:40 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=414</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

(1) 到Qt網站下載Qt Library source code. 我目前下載的版本是qt-everywhere-opensource-src-4.7.3.tar.gz.  將其copy到$HOME/src中
(2) 因為我只想將Qt中安裝給自己使用, 所以目標是將Qt裝在自己的home directory.並且編譯成static library. 所以安裝動作如下:

cd ~/src
tar -zxvf qt-everywhere-opensource-src-4.7.3.tar.gz
cd qt-everywhere-opensource-src-4.7.3
./configure -prefix $HOME/bin/Qt-4.7.3 -static -largefile -opensource
make
make install

(3) 裝完後, 將環境變數的PATH新增$HOME/bin/Qt-4.7.3/bin 即可
(4) 注意: 因為我是將Qt 裝在自己的home directory, 所以$HOME/bin/Qt-4.7.3/bin 裡面有一個qmake的程式, 通常Linux也會內建一個qmake程式, 有時這兩個版本會不相容. 所以當你要執行qmake這個程式時, 請確定是執行到$HOME/bin/Qt-4.7.3/bin/qmake.  通常只要注意path設定的先後順序, 如下, 應該就沒問題:

PATH=$HOME/bin/Qt-4.7.3/bin/:$PATH

(5) 若需要更多的選項, 請下列指令來顯示這些選項的說明

 ./configure --help

]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=414</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crossplatform chm reader</title>
		<link>https://www.haostudio.idv.tw/blog/?p=400</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=400#comments</comments>
		<pubDate>Mon, 26 Apr 2010 02:05:34 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[MAC]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=400</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

真不錯, 幾乎所有平台都有xchm.
http://xchm.sourceforge.net/index.html
在MAC 下, 最簡單的方式就是用macport 來安裝.
sudo port install xchm

2010/05/05 更新.
@@##xxx用port install 竟然失敗, 卡在python 有問題, 過不了&#8230;..算了, 還是裝別人編譯好的檔來用吧~~
]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=400</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Cygwin中安裝wxWidgets</title>
		<link>https://www.haostudio.idv.tw/blog/?p=383</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=383#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:48:56 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=383</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

繼在Linux中安裝wxWidgets之後,
現在又有需求將wxWidgets裝在Cygwin中.
(1) 先到http://www.cygwin.com/下載並安裝cygwin. 我目前裝的是1.7 beta版. 並且所有的套件全部裝上, 以免缺東缺西的很討厭. 反正我HDD夠大,沒差那1,2GB
(2) 到http://www.wxwidgets.org/下載wxWidgets source code. 我目前用的是wxX11-2.8.10.tar.gz. 並將其copy到Cygwin 中的$HOME/src
(3)因為我只想將wxWidget中安裝給自己使用, 所以目標是將wxWidget裝在自己的home directory.
(4) 新增一個檔案叫做install_wx_cygwin.sh 在$HOME/src中, 內容如下:

#!/bin/bash
export CFLAGS=-mno-cygwin
export CPPFLAGS=-mno-cygwin
export CXXFLAGS=-mno-cygwin
export LDFLAGS="-mno-cygwin -mwindows"
./configure --prefix=$HOME --with-msw --enable-unicode --disable-shared --enable-std_iostreams --disable-precomp-headers --without-expat
make
make install
make samples

(5) 接下來在Cygwin中執行的操作如下:

cd $HOME/src
chmod +x install_wx_cygwin.sh
tar -zxvf wxX11-2.8.10.tar.gz
cd wxX11-2.8.10
../install_wx_cygwin.sh

(6)裝完後, 將環境變數的PATH新增$HOME/bin 即可
參考文章http://wiki.wxwidgets.org/Cygwin
]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=383</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在ubuntu執行wxWidget程式的問題</title>
		<link>https://www.haostudio.idv.tw/blog/?p=374</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=374#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:10:35 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=374</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

我有一個base on wxWidget 2.8.10 的GUI程式, 是在CentOS 5.2的環境中編譯的.
當初在compile wxWidget 2.8.10時, 特別加上了『&#8211;disable-shared』的參數.
參考這裡.
所以我本想這支程式應該可以在許多的Linux Distribution 中執行.
所以剛剛把它拿到ubtuntu 9.0.4中跑,結果這程式竟然需要libexpat.so.0 這個shared library.
而且好死不死, ubuntu 9.0.4中竟然無法安裝libexpat0 (原因是太舊了&#8230;.),  哇哩列～～
情急之下,  只好先拿libexpat.so.1.5.2頂著先用.
如下:

cd /usr/lib
sudo ln -s libexpat.so.1.5.2 libexpat.so.0

還好, 我的程式跑起來了,  先躲過一關了,  接下來要了解為何wxWidgets要吃libexpat這個shared library&#8230;&#8230;嗯來去問Google看看]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=374</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Linux下, 又一個好用的editor, Kate</title>
		<link>https://www.haostudio.idv.tw/blog/?p=365</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=365#comments</comments>
		<pubDate>Wed, 23 Sep 2009 11:11:44 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[FreeSoftware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=365</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

剛剛在一台新裝CentOS 5.2 中, 臨時要用一個text editor來看C/C++ 的code.
又很懶得去裝 jedit/MadEdit/Geany 等這些軟體.
所以就很順手的使用了gedit.
雖然gedit還算可以, 但是總沒有我想要的功能: 『C/C++ symbol viewer』
剛剛才發現, 原來用yum 安裝kdeaddons 套件後, 可以使用kde 的一套text editor, 叫做kate.
它內建的plug-in就有』C/C++ symbol viewer』的功能&#8230;..耶~~ 還不錯用喔,  如下圖.

]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=365</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Linux中安裝wxWidgets</title>
		<link>https://www.haostudio.idv.tw/blog/?p=356</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=356#comments</comments>
		<pubDate>Fri, 18 Sep 2009 10:35:56 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=356</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

(1) 到wxWidgets網站下載source code. 我目前下載的版本是wxWidgets-2.8.10.tar.gz. 將其copy到$HOME/src中
(2) 因為我只想將wxWidget中安裝給自己使用, 所以目標是將wxWidget裝在自己的home directory. 所以安裝動作如下:

cd ~/src
tar -zxvf wxWidgets-2.8.10.tar.gz
cd wxWidgets-2.8.10
./configure --prefix=$HOME --with-gtk --enable-unicode --disable-shared --enable-std_iostreams
make
make install

(3) 裝完後, 將環境變數的PATH新增$HOME/bin 即可
]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=356</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在windows下安裝SVN server</title>
		<link>https://www.haostudio.idv.tw/blog/?p=349</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=349#comments</comments>
		<pubDate>Thu, 13 Aug 2009 11:24:57 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[架站]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=349</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

安裝環境: Windows XP SP3
Server端所需之軟體:
(1) Apache, 我安裝的版本是2.2.13, 可以到此下載
(2) Subversion, 我安裝的版本是1.6.4, 可以到此下載 
Client端建議使用之軟體:
TortoiseSVN
安裝步驟:
(1) 首先安裝Apache, 直接執行apache_2.2.13-win32-x86-openssl-0.9.8k.msi, 就可以裝完, 沒啥特別的.
(2) 安裝Subversion, 將svn-win32-1.6.4.zip 解壓縮到C:\Program FIles目錄. 並將系統環境變數中Path增加這個路徑 『C:\Program Files\svn-win32-1.6.4\bin』, 使系統能夠存取這目錄下的dll檔. 並且重新開機使其路徑生效.
(3) 將C:\Program Files\svn-win32-1.6.4\bin裡面的mod_dav_svn.so 及mod_authz_svn.so 拷貝到apache的modules目錄下, 通常是』C:\Program Files\Apache Software Foundation\Apache2.2\modules』
(4) 建立SVN 之檔案庫: 建立一個目錄叫做c:\SVN 並且開啟dos命令列, 切換到c:\SVN目錄下執行下列指令

svnadmin create repos

(5) 修改Apache的http.conf檔. 此檔案在』C:\Program Files\Apache Software Foundation\Apache2.2\conf』目錄下.
新增如下設定:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
&#60;Location /svn&#62;
   [...]]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=349</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DiffMerge: 一套不錯的Diff軟體, 支援Windows, Mac, Linux</title>
		<link>https://www.haostudio.idv.tw/blog/?p=211</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=211#comments</comments>
		<pubDate>Mon, 18 May 2009 11:46:54 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[FreeSoftware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MAC]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=211</guid>
		<description><![CDATA[6年前, 當我用過BeyondCompare這套Diff軟體後, 在Windows中, 再也沒有任何一套Diff軟體, 即使是免費的Diff軟體, 也無法讓我看的上眼. 因為BeyondCompare實在太好用了.

但是後來, 我的工作平台常常切換的Linux, 以及Mac. 我就一直在尋找在Linux或Mac中好用的Diff軟體. 在Linux中有一套叫Meld, 畫面不錯, 但就是反應太慢, 慢的有點受不了. 對於我這個重度依賴Diff軟體的人來說. 軟體反應的速度, 是我考量的重點之一.
剛剛, 終於讓我看到一套, 覺得還不錯的Diff軟體: DiffMerge
這套竟然可以免費使用(for single user). 而且是跨平台的, 支援Windows, Mac, Linux.
耶~~ 立刻就下載試試看. 用起來還算不錯(不過還是沒有BeyondCompare好用~~).
參考下圖:


 
]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=211</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解決bind() 會產生Address already in use的錯誤問題</title>
		<link>https://www.haostudio.idv.tw/blog/?p=203</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=203#comments</comments>
		<pubDate>Fri, 08 May 2009 08:01:05 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=203</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

這幾天, 因為無聊, 上網看了一些socket的function, 順手抄了一個簡單的socket程式.
但是這程式總是很不穩定.
怪怪! server端的程式, run 了第二次後, bind() 就會產生』Address already in use』的錯誤訊息.
上Google查了一下, 才知道bind() 之後, 若程式已經結束, 雖然已經正常把socket給close() 了,
但是kernel並不會release這個TCP 的connectioin, 它的狀態會keep 在』TIME_WAIT』狀態. (可以用netstat -t查詢)
要好幾分鐘後, kernel才會release 掉.
怪怪!! 搞不懂為何要做成這樣?? 算了! 找到解答就好.
在bind() 之前加上
來告訴bind(), 若這個address 假設已經被佔用了, 那就重複使用吧.
完整的code 如下:
Server端:

#include &#60;sys/types.h&#62;
#include &#60;sys/socket.h&#62;
#include &#60;netinet/in.h&#62;
#include &#60;time.h&#62;
#include &#60;stdio.h&#62;
#include &#60;stdlib.h&#62;
#include &#60;string.h&#62;
#include &#60;errno.h&#62;
#include &#60;signal.h&#62;    /* signal name macros, and the signal() [...]]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=203</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geany, 一個不錯的Editor for Linux/Windows</title>
		<link>https://www.haostudio.idv.tw/blog/?p=199</link>
		<comments>https://www.haostudio.idv.tw/blog/?p=199#comments</comments>
		<pubDate>Mon, 04 May 2009 07:42:58 +0000</pubDate>
		<dc:creator>hao</dc:creator>
				<category><![CDATA[FreeSoftware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.haostudio.idv.tw/blog/?p=199</guid>
		<description><![CDATA[



(adsbygoogle = window.adsbygoogle &#124;&#124; []).push({});

長久以來, 我一直在尋找好用且免費的Editor.
我目前在用的Editor是Jedit, 它幾乎是我心中最完美的Editor.
可以在Windows/Linux/Mac 中使用.
只可惜的是, 它有點慢, 在一些慢速的CPU上, 如Atom, 跑起來顯得有點吃力.
還有就是, 在Linux環境下, 總覺得穩定度似乎得再加強(或許是Sun JRE的問題??).
因此, 我一直再尋找Linux能跟Jedit一樣好用的軟體.
曾經用了一套MadEdit, 算是不錯了.
但是在捲動畫面的時候, 還蠻lag的.
OK! 回歸正題, 剛剛又看到一套Open Source的Editor:  Geany
畫面不錯, 如下:

有Tab, 以及畫面左邊有Function List, 正是我所需要的功能. 雖然目前只到0.17版, 但是有空一定要裝來玩玩.
]]></description>
		<wfw:commentRss>https://www.haostudio.idv.tw/blog/?feed=rss2&amp;p=199</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
