享受生活 - Enjoy Life!

Just so so.

Archive for the ‘Qt’ tag

体会了一下Snow Leopard的一个开发bug

1 篇评论

终于在公司搞到了一台旧的iMac 5.1, Intel Core 2 Duo 2.0 GHz/ 2G DDR2 667 MHz。

装上了Snow Leopard和官方发布的Qt 4.7.0 Beta 2Qt Creator 2.1快照版,想debug进Qt库,竟然不成,咨询了公司内外的Mac开发朋友,原来我遇到了Apple的bug。

DYLD_IMAGE_SUFFIX=_debug makes application crash on Mac OS X – 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后,依然崩溃。

作者:Cavendish

时间:10/07/13 4:19 下午

分类: 技术

标签:, ,

How to support your own type in QVariant

没有评论

#include <QCoreApplication>
#include <QVariant>
#include <QString>

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();
    MyPowerStruct v11 = { 10, 0.5, {1, 5.0, QString("Nokia Qt") } };
    QVariant var1;
    var1.setValue(v11);
    MyPowerStruct v12 = var1.value();
    return 0;
}

Reference:
Qt 4.6 Documentation: Q_DECLARE_METATYPE

作者:Cavendish

时间:10/05/06 6:38 下午

分类: 技术

标签:,

Build Qt with S60 5.0 Public SDK(2nd version)

2 篇评论

Build Qt with S60 5.0 Public SDK(2nd version)

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

1-3. Open C/C++ Plug-in
http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.html
http://sw.nokia.com/id/fbe59b85-a621-404b-94d7-94ca818e576a/s60_open_c_cpp_plug_in_v1_6_en.zip

Open C/C++ Plug-in 1.6
s60_open_c_cpp_plug_in_v1_6_en.zip 34MB

2. Installation
Please install following packages as default path.

Install ActivePerl-5.6.1.638-MSWin32-x86.msi.
Install Java SE Development Kit (JDK), JDK 6 Update 16, jdk-6u16-windows-i586.exe
Install Carbide.C++.
After installed Carbide.C++, please download x86Tools_3.2.5_Symbian_b482_qt.zip. Please extract all files in it, and copy or move them to overwrite this folder, C:\Program Files\Nokia\Carbide.c++ v2.0\x86Build.
Please run this, Start->Carbide.c++ v2.0->Configure environment for WINSCW command line.
And you also need to use Git to get Qt from Qt Git Repo, better to download this version of Git.

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.

For Host Tools:
For MinGW user, please download MinGW-5.1.4.exe(Note: here the 5.1.4 is the version of installer, the compiler version is 3.4.5.), use it install g++ and make at least. And please add the env for MinGW, C:\MinGW\bin, at the beginning of the PATH.
For Microsoft Visual C++ Express Edition user, please download the vcsetup.exe and install 2008 with SP1.

For Device:
You need to install RVCT 2.2, we are using “Build 683″. You can use RVCT to build Qt libraries and applications which could running on S60 devices.
You can also install the “CSL Arm Toolchain”, if you forgot it, you can find it in Start->S60 Developer Tools->5th Edition SDK->v1.0->Tools->CSL Toolchain (GCCE) Install. You can use GCCE to build Qt applications with pre-build Qt libraries, and run your Qt applications on devices.

3. Build Qt with S60 5.0 Public SDK

For MinGW user, just open a Windows Command Prompt.
For VC2008EE user, please open Visual Studio 2008 Command Prompt.

C:
mkdir git
cd C:\git
git clone -n git://gitorious.org/qt/qt.git
cd qt
git checkout -b 4.6 origin/4.6
set PATH=C:\git\qt-s60\bin;%PATH%

For MinGW user:
configure -platform win32-g++ -xplatform symbian-abld -qt-sql-sqlite -system-sqlite -no-script

For VC2008EE user:
configure -platform win32-msvc2008 -xplatform symbian-abld -qt-sql-sqlite -system-sqlite -no-script

make debug-winscw // for emulator
make release-armv5 // for devices arvm5

4. Build Examples

cd C:\git\qt\examples\widgets\analogclock
qmake
make debug-winscw // for emulator
make release-armv5 // for devices arvm5
make release-gcce // for devices gcce

5. Run

In Emulator:
C:\S60\devices\S60_5th_Edition_SDK_v1.0\epoc32\release\winscw\udeb\epoc.exe
“Menu”(or click the middle one of the 3 buttons)->QtExamples->analogclock

In Device:
createpackage C:\git\qt\src\s60installs\Qt_for_S60_template.pkg release-armv5 // create Qt install package, it locates in C:\git\qt\src\s60installs\qt_for_s60_release-armv5.sis
createpackage C:\git\qt\examples\widgets\analogclock\analogclock_template.pkg release-armv5 // create analogclock armv5 install package, it locates in C:\git\qt\examples\widgets\analogclock\analogclock_release-armv5.sis
createpackage C:\git\qt\examples\widgets\analogclock\analogclock_template.pkg release-gcce // create analogclock gcce install package, it locates in C:\git\qt\examples\widgets\analogclock\analogclock_release-gcce.sis

Before you install Qt install package, you should also insall following packages:
pips_s60_1_6_SS.sis
openc_ssl_s60_1_6_SS.sis
STDCPP_s60_1_6_SS.sis

You can find them in C:\S60\devices\S60_5th_Edition_SDK_v1.0\nokia_plugin\openc\s60opencsis and C:\S60\devices\S60_5th_Edition_SDK_v1.0\nokia_plugin\opencpp\s60opencppsis.

NOTE: If you are using virtual machine, please do not use Windows Remote Desktop to connect it. The default audio driver for it will cause S60 Emulator crash.

作者:Cavendish

时间:09/09/15 10:58 上午

分类: 技术

标签:,

Build Qt with S60 5.0 Public SDK

没有评论

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. Installation

Please install above 2 packages as default path.

Installation order: Carbide.C++, S60 SDK.

After Carbide.C++, you may need to install ActivePerl-5.6.1.638-MSWin32-x86.msi:

http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.msi

And you also need to use Git to get Qt from Qt S60 Git Repo, better to download this version of Git.

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.

Please run this, Start->Carbide.c++ v2.0->Configure environment for WINSCW command line.

3. Build Qt with S60 5.0 Public SDK

cd C:\git
git clone git://gitorious.org/+qt-s60-developers/qt/qt-s60.git
cd qt-s60
set PATH=C:\git\qt-s60\bin;%PATH%
configure -platform win32-mwc -xplatform symbian-abld -openssl-linked -qt-sql-sqlite -system-sqlite
make debug-winscw

4. Build Examples

cd C:\git\qt-s60\examples\widgets\analogclock
qmake
make debug-winscw
C:\S60\devices\S60_5th_Edition_SDK_v1.0\epoc32\release\winscw\udeb\epoc.exe
“Menu”(or click the middle one of the 3 buttons)->QtExamples->analogclock

You got it!

作者:Cavendish

时间:09/05/26 11:02 下午

分类: 技术

标签:, ,

Qt/S60代码仓库也开放了

没有评论

Trolltech Labs Blog: Qt for S60 repository going public
Qt S60 Git Repo

注意:Qt/S60在S60 5.0 Public SDK中需要最新版的Open C,估计会在近期发布。大家可以先尝试3.2和3.1。同样因为编译器的原因,大家不能编译用于手机硬件的Qt库,这个需要商业版的RCVT。

作者:Cavendish

时间:09/05/26 12:10 下午

分类: 技术

标签:, ,

Qt代码仓库对公众开放了

没有评论

经历了一段时间的准备,Qt代码仓库对公众开放了!

Qt Software

最新新闻稿等待中。

作者:Cavendish

时间:09/05/11 1:53 下午

分类: 技术

标签:,

Qt 4.5发布了

2 篇评论

作者:Cavendish

时间:09/03/03 1:05 下午

分类: 技术, 生活

标签:,

Welcome to Qt/Kinetic

没有评论

Qt Labs – Welcome to Kinetic
Kinetic Project
Git clone URL: git://labs.trolltech.com/qt/kinetic

作者:Cavendish

时间:08/11/06 2:17 下午

分类: 技术

标签:,

Qt Animation Framework发布了

没有评论

作者:Cavendish

时间:08/11/05 4:45 下午

分类: 技术

标签:,

Qt Creator(跨平台的IDE)技术预览版发布了

没有评论

作者:Cavendish

时间:08/10/30 1:39 下午

分类: 技术

标签:,