<?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>享受生活 － Enjoy Life! &#187; Programming</title>
	<atom:link href="http://www.qiliang.net/blog/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.qiliang.net/blog</link>
	<description>Just so so.</description>
	<lastBuildDate>Wed, 18 Aug 2010 17:05:25 +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>体会了一下Snow Leopard的一个开发bug</title>
		<link>http://www.qiliang.net/blog/2010/07/%e4%bd%93%e4%bc%9a%e4%ba%86%e4%b8%80%e4%b8%8bsnow-leopard%e7%9a%84%e4%b8%80%e4%b8%aa%e5%bc%80%e5%8f%91bug.html</link>
		<comments>http://www.qiliang.net/blog/2010/07/%e4%bd%93%e4%bc%9a%e4%ba%86%e4%b8%80%e4%b8%8bsnow-leopard%e7%9a%84%e4%b8%80%e4%b8%aa%e5%bc%80%e5%8f%91bug.html#comments</comments>
		<pubDate>Tue, 13 Jul 2010 14:19:32 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=10684</guid>
		<description><![CDATA[终于在公司搞到了一台旧的iMac 5.1, Intel Core 2 Duo 2.0 GHz/ 2G DDR2 667 MHz。
装上了Snow Leopard和官方发布的Qt 4.7.0 Beta 2和Qt Creator 2.1快照版，想debug进Qt库，竟然不成，咨询了公司内外的Mac开发朋友，原来我遇到了Apple的bug。
DYLD_IMAGE_SUFFIX=_debug makes application crash on Mac OS X &#8211; Snow Leopard
DYLD_IMAGE_SUFFIX causing havoc on Mac OS X Snow Leopard
而且变态的Apple自己的bug tracker还是封闭的，只有号码，看不到具体情况。
最后的解决办法是：

cd /usr/lib
sudo mv libSystem.B_debug.dylib libSystem.B_debug.dylib.bak
sudo mv libmx.A_debug.dylib libmx.A_debug.dylib.bak

之前还以为/Developers/SDKs/MacOSX10.6.sdk/usr/lib的有效呢。
BTW，学习了OS X下的ldd就是otool。
其它参考文档：
Technical Note TN2124: Mac OS X Debugging Magic
2010年7月30日注：升级到XCode 3.2.3后，依然崩溃。
]]></description>
			<content:encoded><![CDATA[<p>终于在公司搞到了一台旧的<a href="http://guides.macrumors.com/iMac_(Intel)#Rev._B">iMac 5.1</a>, Intel Core 2 Duo 2.0 GHz/ 2G DDR2 667 MHz。</p>
<p>装上了<a href="http://www.apple.com/macosx/">Snow Leopard</a>和官方发布的<a href="http://qt.nokia.com/developer/qt-qtcreator-prerelease">Qt 4.7.0 Beta 2</a>和<a href="http://qt.nokia.com/developer/qt-qtcreator-prerelease">Qt Creator 2.1快照版</a>，想debug进Qt库，竟然不成，咨询了公司内外的Mac开发朋友，原来我遇到了Apple的bug。</p>
<p><a href="http://bugreports.qt.nokia.com/browse/QTBUG-4962">DYLD_IMAGE_SUFFIX=_debug makes application crash on Mac OS X &#8211; Snow Leopard</a><br />
<a href="http://wimleers.com/blog/dyld-image-suffix-causing-havoc-on-mac-os-x-snow-leopard">DYLD_IMAGE_SUFFIX causing havoc on Mac OS X Snow Leopard</a></p>
<p>而且变态的Apple自己的bug tracker还是封闭的，只有号码，看不到具体情况。</p>
<p>最后的解决办法是：<br />
<code><br />
cd /usr/lib<br />
sudo mv libSystem.B_debug.dylib libSystem.B_debug.dylib.bak<br />
sudo mv libmx.A_debug.dylib libmx.A_debug.dylib.bak<br />
</code></p>
<p>之前还以为/Developers/SDKs/MacOSX10.6.sdk/usr/lib的有效呢。</p>
<p>BTW，学习了OS X下的ldd就是<a href="http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/otool.1.html">otool</a>。</p>
<p>其它参考文档：<br />
<a href="http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html">Technical Note TN2124: Mac OS X Debugging Magic</a></p>
<p>2010年7月30日注：升级到XCode 3.2.3后，依然崩溃。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2010/07/%e4%bd%93%e4%bc%9a%e4%ba%86%e4%b8%80%e4%b8%8bsnow-leopard%e7%9a%84%e4%b8%80%e4%b8%aa%e5%bc%80%e5%8f%91bug.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to support your own type in QVariant</title>
		<link>http://www.qiliang.net/blog/2010/05/how-to-support-your-own-type-in-qvariant.html</link>
		<comments>http://www.qiliang.net/blog/2010/05/how-to-support-your-own-type-in-qvariant.html#comments</comments>
		<pubDate>Thu, 06 May 2010 16:38:42 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=10666</guid>
		<description><![CDATA[
#include &#60;QCoreApplication&#62;
#include &#60;QVariant&#62;
#include &#60;QString&#62;

struct MyStruct
{
    int a;
    double b;
    QString c;
};

struct MyPowerStruct
{
    int a;
    double b;
    MyStruct c;
};

Q_DECLARE_METATYPE(MyStruct)
Q_DECLARE_METATYPE(MyPowerStruct)

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    MyStruct v01 = { 1, 5.0, [...]]]></description>
			<content:encoded><![CDATA[<pre>
#include &lt;QCoreApplication&gt;
#include &lt;QVariant&gt;
#include &lt;QString&gt;

struct MyStruct
{
    int a;
    double b;
    QString c;
};

struct MyPowerStruct
{
    int a;
    double b;
    MyStruct c;
};

Q_DECLARE_METATYPE(MyStruct)
Q_DECLARE_METATYPE(MyPowerStruct)

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    MyStruct v01 = { 1, 5.0, QString("Nokia Qt") };
    QVariant var0;
    var0.setValue(v01);
    MyStruct v02 = var0.value<MyStruct>();
    MyPowerStruct v11 = { 10, 0.5, {1, 5.0, QString("Nokia Qt") } };
    QVariant var1;
    var1.setValue(v11);
    MyPowerStruct v12 = var1.value<MyPowerStruct>();
    return 0;
}
</pre>
<p>Reference:<br />
<a href="http://doc.trolltech.com/4.6/qmetatype.html#Q_DECLARE_METATYPE">Qt 4.6 Documentation: Q_DECLARE_METATYPE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2010/05/how-to-support-your-own-type-in-qvariant.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Qt with S60 5.0 Public SDK</title>
		<link>http://www.qiliang.net/blog/2009/05/build-qt-with-s60-5-0-public-sdk.html</link>
		<comments>http://www.qiliang.net/blog/2009/05/build-qt-with-s60-5-0-public-sdk.html#comments</comments>
		<pubDate>Tue, 26 May 2009 21:02:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[SYMBIAN]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=190</guid>
		<description><![CDATA[Build Qt with S60 5.0 Public SDK
Platform: Windows XP with SP3(now we only support Qt/S60 on it.)
1. SYMBIAN Development Environment
For downloading the packages, you need to register an account in the forum of Nokia,
http://www.forum.nokia.com/main/registration/registration.html
1-1. Carbide.C++
http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/
http://sw.nokia.com/id/7710eba7-4da7-4ddc-a52a-53b506cadb4a/Carbide_cpp_v2_0_en.exe
Carbide.C++ 2.0
Carbide_cpp_v2_0_en.exe 203MB
1-2. S60 Platform SDKs for Symbian OS, for C++
http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip
S60 Platform SDKs for Symbian OS, for C++, 5th Edition
S60_5th_Edition_SDK_v1_0_en.zip 622MB
2. [...]]]></description>
			<content:encoded><![CDATA[<p>Build Qt with S60 5.0 Public SDK</p>
<p>Platform: Windows XP with SP3(now we only support Qt/S60 on it.)</p>
<p>1. SYMBIAN Development Environment</p>
<p>For downloading the packages, you need to register an account in the forum of Nokia,<br />
<a href="http://www.forum.nokia.com/main/registration/registration.html">http://www.forum.nokia.com/main/registration/registration.html</a></p>
<p>1-1. Carbide.C++<br />
<a href="http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/">http://www.forum.nokia.com/Tools_Docs_and_Code/Tools/IDEs/Carbide.c++/</a><br />
<a href="http://sw.nokia.com/id/7710eba7-4da7-4ddc-a52a-53b506cadb4a/Carbide_cpp_v2_0_en.exe">http://sw.nokia.com/id/7710eba7-4da7-4ddc-a52a-53b506cadb4a/Carbide_cpp_v2_0_en.exe</a></p>
<p>Carbide.C++ 2.0<br />
Carbide_cpp_v2_0_en.exe 203MB</p>
<p>1-2. S60 Platform SDKs for Symbian OS, for C++<br />
<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html">http://www.forum.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html</a><br />
<a href="http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip">http://sw.nokia.com/id/577ad48d-290c-4bb5-8bdf-779ea8a5bc6c/S60_5th_Edition_SDK_v1_0_en.zip</a></p>
<p>S60 Platform SDKs for Symbian OS, for C++, 5th Edition<br />
S60_5th_Edition_SDK_v1_0_en.zip 622MB</p>
<p>2. Installation</p>
<p>Please install above 2 packages as default path.</p>
<p>Installation order: Carbide.C++, S60 SDK.</p>
<p>After Carbide.C++, you may need to install ActivePerl-5.6.1.638-MSWin32-x86.msi:</p>
<p><a href="http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi">http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi</a></p>
<p>And you also need to use <a href="http://git-scm.org/">Git</a> to get <a href="http://www.qtsoftware.com/">Qt</a> from <a href="http://gitorious.org/+qt-s60-developers/qt/qt-s60">Qt S60 Git Repo</a>, better to download <a href="http://msysgit.googlecode.com/files/Git-1.6.3-preview20090507-2.exe">this version of Git</a>.</p>
<p>Please also make sure the path of our perl(default: C:\Perl\bin) should be before the perl in git(default: C:\Program Files\Git\bin) in PATH.</p>
<p>Please run this, Start-&gt;Carbide.c++ v2.0-&gt;Configure environment for WINSCW command line.</p>
<p>3. Build Qt with S60 5.0 Public SDK</p>
<p>cd C:\git<br />
git clone git://gitorious.org/+qt-s60-developers/qt/qt-s60.git<br />
cd qt-s60<br />
set PATH=C:\git\qt-s60\bin;%PATH%<br />
configure -platform win32-mwc -xplatform symbian-abld -openssl-linked -qt-sql-sqlite -system-sqlite<br />
make debug-winscw</p>
<p>4. Build Examples</p>
<p>cd C:\git\qt-s60\examples\widgets\analogclock<br />
qmake<br />
make debug-winscw<br />
C:\S60\devices\S60_5th_Edition_SDK_v1.0\epoc32\release\winscw\udeb\epoc.exe<br />
&#8220;Menu&#8221;(or click the middle one of the 3 buttons)-&gt;QtExamples-&gt;analogclock</p>
<p>You got it!<br />
<a href="http://1.bp.blogspot.com/_Z5wTRcfzptM/Shxgek7sfiI/AAAAAAAAAS8/AIaQCUgueAU/s1600-h/analogclock_qts60.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5340249336580963874" style="display: block; margin: 0px auto 10px; text-align: center; cursor: hand; width: 182px; height: 320px;" src="http://1.bp.blogspot.com/_Z5wTRcfzptM/Shxgek7sfiI/AAAAAAAAAS8/AIaQCUgueAU/s320/analogclock_qts60.png" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2009/05/build-qt-with-s60-5-0-public-sdk.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to Qt/Kinetic</title>
		<link>http://www.qiliang.net/blog/2008/11/welcome-to-qtkinetic.html</link>
		<comments>http://www.qiliang.net/blog/2008/11/welcome-to-qtkinetic.html#comments</comments>
		<pubDate>Thu, 06 Nov 2008 12:17:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=176</guid>
		<description><![CDATA[Qt Labs &#8211; Welcome to Kinetic
Kinetic Project
Git clone URL: git://labs.trolltech.com/qt/kinetic
]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.trolltech.com/blogs/2008/11/06/welcome-to-kinetic/">Qt Labs &#8211; Welcome to Kinetic</a><br />
<a href="http://labs.trolltech.com/page/Projects/Graphics/Kinetic">Kinetic Project</a><br />
Git clone URL: git://labs.trolltech.com/qt/kinetic</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/11/welcome-to-qtkinetic.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt Animation Framework发布了</title>
		<link>http://www.qiliang.net/blog/2008/11/qt-animation-framework%e5%8f%91%e5%b8%83%e4%ba%86.html</link>
		<comments>http://www.qiliang.net/blog/2008/11/qt-animation-framework%e5%8f%91%e5%b8%83%e4%ba%86.html#comments</comments>
		<pubDate>Wed, 05 Nov 2008 14:45:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=175</guid>
		<description><![CDATA[Qt Labs &#8211; Qt Animation Framework
Qt Animation Framework
]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.trolltech.com/blogs/2008/11/05/qt-animation-framework/">Qt Labs &#8211; Qt Animation Framework</a></p>
<p><a href="http://trolltech.com/products/appdev/add-on-products/catalog/4/Utilities/qtanimationframework/">Qt Animation Framework</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/11/qt-animation-framework%e5%8f%91%e5%b8%83%e4%ba%86.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt Creator(跨平台的IDE)技术预览版发布了</title>
		<link>http://www.qiliang.net/blog/2008/10/qt-creator%e8%b7%a8%e5%b9%b3%e5%8f%b0%e7%9a%84ide%e6%8a%80%e6%9c%af%e9%a2%84%e8%a7%88%e7%89%88%e5%8f%91%e5%b8%83%e4%ba%86.html</link>
		<comments>http://www.qiliang.net/blog/2008/10/qt-creator%e8%b7%a8%e5%b9%b3%e5%8f%b0%e7%9a%84ide%e6%8a%80%e6%9c%af%e9%a2%84%e8%a7%88%e7%89%88%e5%8f%91%e5%b8%83%e4%ba%86.html#comments</comments>
		<pubDate>Thu, 30 Oct 2008 11:39:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=174</guid>
		<description><![CDATA[Technology Preview &#8211; Qt Creator 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://trolltech.com/developer/qt-creator/">Technology Preview &#8211; Qt Creator </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/10/qt-creator%e8%b7%a8%e5%b9%b3%e5%8f%b0%e7%9a%84ide%e6%8a%80%e6%9c%af%e9%a2%84%e8%a7%88%e7%89%88%e5%8f%91%e5%b8%83%e4%ba%86.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Qt with OpenSSL, VC++ 2005 EE(SP1) on Windows XP</title>
		<link>http://www.qiliang.net/blog/2008/10/build-qt-with-openssl-vc-2005-eesp1-on-windows-xp.html</link>
		<comments>http://www.qiliang.net/blog/2008/10/build-qt-with-openssl-vc-2005-eesp1-on-windows-xp.html#comments</comments>
		<pubDate>Mon, 27 Oct 2008 12:54:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=173</guid>
		<description><![CDATA[Build Qt with OpenSSL, VC++ 2005 EE(SP1) on Windows XP
1. OS, Compilers and SDK
OS: Windows XP(SP3)
Compiler: Microsoft Visual C++ 2005 Express Edition with Service Pack 1
SDK: Windows Software Development Kit (SDK) for Windows Server 2008 and .NET Framework 3.5
You need set SDK path in your compiler settings by yourself.
2. Build OpenSSL 0.9.8h
Download OpenSSL 0.9.8h Original [...]]]></description>
			<content:encoded><![CDATA[<p>Build Qt with OpenSSL, VC++ 2005 EE(SP1) on Windows XP</p>
<p>1. OS, Compilers and SDK<br />
OS: Windows XP(SP3)<br />
Compiler: <a href="http://www.microsoft.com/express/2005/download/">Microsoft Visual C++ 2005 Express Edition</a> with <a href="http://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/vs80sp1-kb926748-x86-intl.exe">Service Pack 1</a><br />
SDK: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&amp;displaylang=en">Windows Software Development Kit (SDK) for Windows Server 2008 and .NET Framework 3.5</a></p>
<p>You need set SDK path in your compiler settings by yourself.</p>
<p>2. Build OpenSSL 0.9.8h<br />
Download <a href="http://www.openssl.org/source/openssl-0.9.8h.tar.gz">OpenSSL 0.9.8h Original Source Package</a>, unpack it to C:\openssl-0.9.8h.<br />
Please read C:\openssl-0.9.8h\INSTALL.W32.</p>
<p>Open the Visual Studio 2005 Command Prompt, then</p>
<pre>cd C:\openssl-0.9.8h
perl Configure VC-WIN32 --prefix=c:/OpenSSL
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
nmake -f ms\ntdll.mak install</pre>
<p>3. Build Qt with OpenSSL<br />
Download <a href="ftp://ftp.trolltech.com/qt/source/qt-win-opensource-src-4.4.3.zip">qt-win-opensource-src-4.4.3.zip</a>, unpack it to C:\Qt\4.4.3-oss.</p>
<p>Open the Visual Studio 2005 Command Prompt, then</p>
<pre>set INCLUDE=C:\openssl-0.9.8h\include;%INCLUDE%
set LIBPATH=C:\openssl-0.9.8h\lib;%LIBPATH%
set PATH=C:\openssl-0.9.8h\bin;C:\Qt\4.4.3-oss\bin;%PATH%
cd C:\Qt\4.4.3-oss\
configure.exe -release -openssl
nmake sub-src

cd examples\network\securesocketclient
qmake
nmake
cd releasese
curesocketclient</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/10/build-qt-with-openssl-vc-2005-eesp1-on-windows-xp.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Build Qt for Symbian</title>
		<link>http://www.qiliang.net/blog/2008/10/build-qt-for-symbian.html</link>
		<comments>http://www.qiliang.net/blog/2008/10/build-qt-for-symbian.html#comments</comments>
		<pubDate>Mon, 20 Oct 2008 11:46:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[SYMBIAN]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=172</guid>
		<description><![CDATA[About Symbian development environment, please have a look at:
SYMBIAN Development Environment &#8211; 1
SYMBIAN Development Environment &#8211; 2
Build Qt for Symbian
Platform: Windows XP with SP3(now we only support Qt/S60 on it.)
0. Patches
Patches for S60 development environment
1. Build Qt for symbian
qt-embedded-s60-opensource-src-4.4.2-pyramid.zip
You need to make sure to use Symbian X86 compiler (version 3.2.5 build 473).
Follow this steps in [...]]]></description>
			<content:encoded><![CDATA[<p>About Symbian development environment, please have a look at:<br />
<a href="http://cavendishqi.blogspot.com/2008/07/symbian-development-environment-1.html">SYMBIAN Development Environment &#8211; 1</a><br />
<a href="http://cavendishqi.blogspot.com/2008/07/symbian-development-environment-2.html">SYMBIAN Development Environment &#8211; 2</a></p>
<p>Build Qt for Symbian</p>
<p>Platform: Windows XP with SP3(now we only support Qt/S60 on it.)</p>
<p>0. Patches</p>
<p><a href="http://pepper.troll.no/s60prereleases/patches/">Patches for S60 development environment</a></p>
<p>1. Build Qt for symbian</p>
<p><a href="http://s60prereleases:oslofjord@pepper.troll.no/s60prereleases/packages/qt-embedded-s60-opensource-src-4.4.2-pyramid.zip">qt-embedded-s60-opensource-src-4.4.2-pyramid.zip</a></p>
<p>You need to make sure to use Symbian X86 compiler (version 3.2.5 build 473).</p>
<p>Follow this steps in C:\Qt\4.4.2-pyramid\doc\install-s60.html</p>
<p>Uncompress the package and put it in C:\Qt\4.4.2-pyramid.</p>
<p>Set your PATH including C:\Qt\4.4.2-pyramid\bin.</p>
<p>Configure:</p>
<p>C:<br />
cd \Qt\4.4.2-pyramid<br />
configure -platform win32-mwc -xplatform symbian-abld -qconfig symbian</p>
<p>Build:</p>
<p>bldmake bldfiles<br />
abld build winscw udeb</p>
<p>Notice: Please store the Qt/S60 repository and Symbian SDK in the same hard disk drive, maybe you can store them in different drives, and then use tools like WinMount to mount them to same drive.</p>
<p>Before configure and build, you need set EPOCROOT to your SDK, I use &#8220;/S60/devices/S60_3rd_FP2_SDK/&#8221;, just because my sdk is in C:\S60\devices\S60_3rd_FP2_SDK.</p>
<p>2. Build Examples</p>
<p>2-1. How to build Qt/S60 application</p>
<p>C:\Qt\4.4.2-pyramid\doc\s60-with-qt-introduction.html</p>
<p>Please make sure to use the qmake in your Qt/S60 build.</p>
<p>qmake<br />
bldmake bldfiles<br />
abld build winscw udeb</p>
<p>Run Carbide.c++ v1.3, In the tab of &#8220;Symbian Project Navigator&#8221;, right click mouse in white space, choose &#8220;Import&#8221;, in the &#8220;Import&#8221; dialog, choose &#8220;Symbian OS Bld.inf file&#8221; under &#8220;Symbian OS&#8221;, then &#8220;Next&#8221;, then &#8220;Browse&#8230;&#8221; to choose the bld.inf in above directory. Then you could build it, run it and debug it in Carbide.c++.</p>
<p>2-2. XML HTML info Example</p>
<p>C:\Qt\4.4.2-pyramid\doc\xml-htmlinfo.html</p>
<p>Note: Standard out is redirected on some platforms. On Symbian using Open C stdout is by default directed to the console window, but this window may not always be visible. To redirect to a file instead, locate the c:\\system\\data\\config.ini file (on either the emulator or the device) and change STDOUT to point to MEDIA4. This will redirect the console to c:\\system\\data\\out.txt.</p>
<p>For me, the config.ini is C:\S60\devices\S60_3rd_FP2_SDK\epoc32\winscw\c\system\data\config.ini, the out.txt is C:\S60\devices\S60_3rd_FP2_SDK\epoc32\winscw\c\system\data\out.txt.</p>
<p>Run the Emulator, Start-&gt;S60 Developer Tools-&gt;3rd Edition FP2 SDK-&gt;Emulator.</p>
<p>In the Emulator, go to Menu-&gt;Installations-&gt;eshell, and type htmlinfo in prompt mode.</p>
<p>2-3. analogclock Example</p>
<p>Now it works fine for me.</p>
<p>Qt/S60 team are still working on the project to make all things work.</p>
<p>3. Build Qt applications for your mobile phone</p>
<p>Please have a look at C:\Qt\4.4.2-pyramid\README and C:\Qt\4.4.2-pyramid\INSTALL.</p>
<p>Just go to your Qt application directory,</p>
<p>qmake<br />
bldmake bldfiles<br />
abld build gcce udeb</p>
<p>Create a package for your mobile phone:</p>
<p>createpackage yourqtapplication_gcce_udeb.pkg</p>
<p>Note: Now the package will include Qt library in the .pkg file, if you already have a Qt application package installed, maybe you can&#8217;t install the next one. Then please remove these lines from the .pkg file of your second application.</p>
<p>&#8220;\epoc32\release\gcce\udeb\QtGui.dll&#8221;    &#8211; &#8220;c:\sys\bin\QtGui.dll&#8221;<br />
&#8220;\epoc32\release\gcce\udeb\QtNetwork.dll&#8221;    &#8211; &#8220;c:\sys\bin\QtNetwork.dll&#8221;<br />
&#8220;\epoc32\release\gcce\udeb\QtCore.dll&#8221;    &#8211; &#8220;c:\sys\bin\QtCore.dll&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/10/build-qt-for-symbian.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SYMBIAN Development Environment &#8211; 2</title>
		<link>http://www.qiliang.net/blog/2008/07/symbian-development-environment-2.html</link>
		<comments>http://www.qiliang.net/blog/2008/07/symbian-development-environment-2.html#comments</comments>
		<pubDate>Tue, 22 Jul 2008 09:38:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Phone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SYMBIAN]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=160</guid>
		<description><![CDATA[Platform: Linux and OS X
http://www.martin.st/symbian/
]]></description>
			<content:encoded><![CDATA[<p>Platform: Linux and OS X</p>
<p><a href="http://www.martin.st/symbian/">http://www.martin.st/symbian/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/07/symbian-development-environment-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SYMBIAN Development Environment &#8211; 1</title>
		<link>http://www.qiliang.net/blog/2008/07/symbian-development-environment-1.html</link>
		<comments>http://www.qiliang.net/blog/2008/07/symbian-development-environment-1.html#comments</comments>
		<pubDate>Mon, 21 Jul 2008 13:53:00 +0000</pubDate>
		<dc:creator>Cavendish</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Phone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SYMBIAN]]></category>

		<guid isPermaLink="false">http://www.qiliang.net/blog/?p=159</guid>
		<description><![CDATA[SYMBIAN Development Environment (1)
Platform: Windows XP Pro(SP3)
1. Software Packages
For downloading the packages, you need to register an account in the forum of Nokia,
http://www.forum.nokia.com/main/registration/registration.html
1-1. Carbide.C++
http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide/
http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html
Carbide.C++ 1.3
Carbide.c++_v1.3.exe 185MB
1-2. S60 Platform SDKs for Symbian OS, for C++
http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html
S60 Platform SDKs for Symbian OS, for C++, 3rd Edition, Feature Package 2(FP2)
S60-3.2-SDK-f.inc3.2130.zip 438MB
1-3. Open C/C++ Plug-ins for S60 3rd Edition
http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html
Plugin_For_S60_3rd_Ed.zip 41.3MB
2. [...]]]></description>
			<content:encoded><![CDATA[<p>SYMBIAN Development Environment (1)</p>
<p>Platform: Windows XP Pro(SP3)</p>
<p>1. Software Packages</p>
<p>For downloading the packages, you need to register an account in the forum of Nokia,<br />
<a href="http://www.forum.nokia.com/main/registration/registration.html">http://www.forum.nokia.com/main/registration/registration.html</a></p>
<p>1-1. Carbide.C++<br />
<a href="http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide/">http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide/</a><br />
<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html">http://www.forum.nokia.com/info/sw.nokia.com/id/dbb8841d-832c-43a6-be13-f78119a2b4cb.html</a></p>
<p>Carbide.C++ 1.3<br />
Carbide.c++_v1.3.exe 185MB</p>
<p>1-2. S60 Platform SDKs for Symbian OS, for C++<br />
<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html">http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html</a></p>
<p>S60 Platform SDKs for Symbian OS, for C++, 3rd Edition, Feature Package 2(FP2)<br />
S60-3.2-SDK-f.inc3.2130.zip 438MB</p>
<p>1-3. Open C/C++ Plug-ins for S60 3rd Edition<br />
<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html">http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html</a></p>
<p>Plugin_For_S60_3rd_Ed.zip 41.3MB</p>
<p>2. Installation</p>
<p>Please install above 3 packages as default path.</p>
<p>Installation order: Carbide.C++, S60 SDK, Plugin.</p>
<p>After Carbide.C++, you may need to install ActivePerl-5.6.1.635-MSWin32-x86.msi:</p>
<p><a href="http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.635-MSWin32-x86.msi ">http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.635-MSWin32-x86.msi </a></p>
<p>3. Emulator<br />
Start-&gt;S60 Developer Tools-&gt;Emulator</p>
<p>4. Try first example application for S60</p>
<p>Run Carbide.C++ 1.3<br />
Start-&gt;Carbide.c++ v1.3-&gt;Carbide.c++ v1.3</p>
<p>In the welcome page, you could click &#8220;Tutorials&#8221;-&gt;&#8221;Create an application emulator debug example&#8221;, and follow this tutorial to build your first example application for S60.</p>
<p>(Info: If the welcome page takes all space of the workspace in Carbide.c++, it makes you can&#8217;t find the project tree and other things, PLEASE CLICK &#8220;Restore&#8221; OPTION IN THE TOP-RIGHT CORNER OF THE WELCOME PAGE!)</p>
<p>Follow above steps to create your project, but if you can&#8217;t see any template in &#8220;New Symbian OS C++ Project&#8221; dialog when you enable &#8220;Filter templates based on enabled SDKs&#8221;, it means Carbide.c++ doesn&#8217;t find the SDK which you had installed. Then please cancel the dialog.</p>
<p>In the main menu of Carbide.c++, Window-&gt;Preferences-&gt;Carbide.c++-&gt;SDK Preferences, you will find out there is nothing in the &#8220;Available Symbian OS SDKs&#8221;. Please click &#8220;Add New SDK&#8221;, in the &#8220;Add New SDK&#8221; dialog, SDK ID: should be &#8220;S60_3rd_FP2_SDK&#8221;, EPOCROOT: should be &#8220;C:\S60\devices\S60_3rd_FP2_SDK&#8221;, Vendor: should be &#8220;com.nokia.s60&#8243;, Is Default: should be &#8220;yes&#8221;. Then click &#8220;OK&#8221; on it. Click &#8220;Rescan All SDKs&#8221; and &#8220;OK&#8221;.</p>
<p>Now you can return to your project.</p>
<p>Follow the tutorial, you could run the application in the emulator, in my case the emulator path should be: C:\S60\devices\S60_3rd_FP2_SDK\epoc32\release\winscw\udeb\epoc.exe</p>
<p>Why not try it on your phone?</p>
<p>Copy C:\Symbian\Carbide\workspace\Oroborous\sis\Oroborous_S60_3_X_v_1_0_0.sisx to your phone via usd disk mode. Install it and run it.</p>
<p>If you got some errors like that &#8220;Certificate error. Contact the application supplier.&#8221;, you need to set your phone like this:<br />
Installations-&gt;App. mgr.-&gt;Options-&gt;Settings, choose &#8220;All&#8221; for &#8220;Software installation&#8221;.</p>
<p>Then all should be ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qiliang.net/blog/2008/07/symbian-development-environment-1.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
