Forum: D Programlama Dili RSS
QtD'nin kurulması
Page:  1  2  next 
acehreli (Moderator) #1
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Subject: QtD'nin kurulması
Fazla sevinmeyin, çünkü ben disk yetersizliği gibi sorunlarla tamamlayamadım ama denemek isteyenler olur diye şimdiye kadar izlediğim adımlar aşağıda.

Sanırım ./configure -static yazmak çok yer tutuyor. Önce yalnızca configure yazmayı deneyebilirsiniz.

Benim için çoook uzun süren bir deneme oldu. Umarım bir sanal makine olduğu içindir.

İyi şanslar! :)
Ali

QtD'nin günlük Ubuntu ve Debian paketleri olduğunu da öğrendim isterseniz şu sayfadaki adımları izleyebilirsiniz:

  http://www.dsource.org/projects/qtd/wiki/UbubtuDebianPacka…

Ama ben onları değil, aşağıdakileri uyguladım. İlk dört adım, Qt'nin kendisinin kurulması ile ilgili; ondan sonrakiler QtD ile ilgili:

1) g++'ı kurun

Ben Ubuntu'nun paket yöneticisi ile şöyle kurdum:

  sudo apt-get install g++

2) qt4-qmake'in ihtiyacı olan paketleri kurun

  sudo apt-get build-dep qt4-qmake

3) Qt 4.6.2'yi kurun

3a) Şuradan indirin ve bir dizine açın (örneğin ~ dizinine):

  http://qt.nokia.com/downloads

(Ben küçük olsun diye Qt: Framework Only olanını seçtim. Bir Linux sistemine kurduğum için de Linux/X11)

3b) Şuradaki kurma adımlarını uygulayın:

  http://qt.nokia.com/doc/4.6/installation.html

Benim denediğim xubuntu sisteminde aşağıdaki dört adım yeterli oldu (özellikle make çok uzun sürüyor):

  cd ~/qt-everywhere-opensource-src-4.6.2
  ./configure
         (Open Source Edition'ı seçin)
         (Lisansı kabul etmek için 'yes' yazın.)
         (Eğer en sonunda hata olursa belki de burada ./configure -static yazılması gerektiği için olabilir; ama umarım gerekmez)
  make
  sudo make install

3c) ~/.profile dosyasına şu iki satırı ekleyin:

  PATH=/usr/local/Trolltech/Qt-4.6.2/bin:$PATH
  export PATH

4) Herşey yolunda gittiyse, sabit diskte yer açmak için:

  make distclean

Bundan sonrası QtD'nin kurulmasıyla ilgili. Hem gereken araçları kurmakla ilgililer, hem de şu adımları uyguluyorlar:

  http://dsource.org/projects/qtd/wiki/BuildLinux

5) dmd 2.040 veya daha sonrasını kurun

Ben 2.040 ile denedim...

5a) Örneğin şuradan indirin:

  http://ftp.digitalmars.com/dmd.2.040.zip

5b) Şuradaki adımları izleyerek kurun:

  http://ddili.org/kurulum/dmd.html

6) Mercurial'ı kurun

  sudo apt-get install mercurial

7) cmake'i kurun

  sudo apt-get install cmake

8) QtD'yi kurun

QtD'nin dmd 2.040 ile çalışan dalının (branch) ismi signals'mış. Onun için o dalı indirmek gerekiyor...

8a) Şu şekilde indirin:

  cd ~
  hg clone http://hg.dsource.org/projects/qtd/signals qtd

8b) Şu şekilde kurun

  cd qtd
  mkdir build_dir
  cd build_dir
  cmake ../
  make
canalpay (Moderator) #2
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Ben 12 saat kurmak için uğraşmışımdır.(Yatarken daha derliyordu :-) )

Şuan kurulumun son aşamasına geldi ve sonunda şöyle hatalar verdi . http://www.ozgurlukicin.com/yapistir/441/

Sanırım gtkD yeterli :-)
acehreli (Moderator) #3
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by canalpay:
sonunda şöyle hatalar verdi . http://www.ozgurlukicin.com/yapistir/441/

Sanırım çok kısa bir süre önce birisinin yaptığı değişiklikler nedeniyle olmalı:

  http://hg.dsource.org/projects/qtd/signals

enum'larla ilgili hatalar ondan olabilir... O 'changeset'in numarası 336. Ben de ondan önceki 'changeset'leri indirip deneyeceğim. 335, dört hafta önceymiş. Herhalde o çalışıyordur ve herhalde ben zaten onunla denemişimdir.

hg'nin komut satırı seçeneklerinden birisi 'changeset' numarasıdır herhalde. Daha sonra onunla 335 olarak belirteceğim.

Sanırım gtkD yeterli :-)

Öyle görünüyor... :)

Ali
Mengu (Moderator) #4
User title: NONSERVIAM
Member since Jul 2009 · 240 posts · Location: Dersaadet
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
gtkD ile ilgili bir sorunum var, cozulmezse QtD'ye gececegim. benim makinede Qt 4.5.2 var ve QtD'yi rahatlikla kurabildim. http://pastie.org/private/7xj1p0m9qrtmjrzzlc8eg adresindeki hatayi almistim, o hatadan da build/gui.txt'den QGraphicsObject'i silerek kurtuldum. ardindan tekrar cmake ../ & make & sudo make install yaparak QtD'yi kurabildim. hatta http://www.dsource.org/projects/qtd/wiki/BuildLinux adresindeki hello world screenshot'ini ben aldim :)

bu mesaji yazarken gtkD problemime cozum getirmisler: http://www.dsource.org/forums/viewtopic.php?t=5245
http://www.mengu.net - ki$isel bili$im guncesi.
levent2z #5
Member since Jun 2010 · 16 posts
Group memberships: Üyeler
Show profile · Link to this post
Subject: QtD windows kurulumu
QtD yi windows altinda kurmayi deneyen varmi
ben basarili olamadim baska deneen varsa tecrübelerimizi paylasabiliriz.
Google aramalarimdada hep linux cözümleri ile karsilastim.

To build QtD, you need:

•dmd compiler version >= 2.046
•Qt 4.6 bundle
•MinGW (included in Qt SDK distribution or you can download the automated MinGW installer from here). qt\bin (that contains qmake.exe) and mingw\bin directories need to be in the PATH environment variable.
•implib tool
•cmake >= 2.6

Bu gerekenleri indirdim kurdum pathleri ayarladim.

Build procedure

hg clone http://hg.dsource.org/projects/qtd
cd qtd
mkdir build_dir
cd build_dir

cmake -G  "MinGW Makefiles" ../    Bu MinGW makefiles lar nerede ??
mingw32-make    neyi make edecegim
This post was edited on 2010-06-03, 08:11 by levent2z.
levent2z #6
Member since Jun 2010 · 16 posts
Group memberships: Üyeler
Show profile · Link to this post
Applying the patch
1. If you do not have the patch utility installed:

Windows

Get it from http://gnuwin32.sourceforge.net/packages/patch.htm

''Linux'' (Debian and derivatives)

Run

sudo apt-get install patch
2. To apply the patch, run the following commands in the console:

cd dmd-source-dir
patch -p0 -i dmd.dmd-version.patch
where 'dmd-source-dir' is the path to the dmd source directory (e.g. C:/dmd/dmd2/src/dmd) and 'dmd-version' is the dmd version number the patch was created against (e.g. 2.046)


Patch i yaptim problemsiz

Compiling the patched dmd
In the dmd source directory, run:

Windows

make -f win32.mak release
Linux

make -f linux.mak release


make -f win32.mak release den sonra error aliyorum.
C:\D\dmd2\src\dmd>patch -p0 -i dmd.2.046.patch

C:\D\dmd2\src\dmd>make -f win32.mak release
make -fwin32.mak C=backend TK=tk ROOT=root clean
del *.obj
del total.sym
del msgs.h msgs.c
del elxxx.c cdxxx.c optab.c debtab.c fltables.c tytab.c
del impcnvtab.c

make -fwin32.mak C=backend TK=tk ROOT=root dmd
make -fwin32.mak C=backend TK=tk ROOT=root OPT=-o "DEBUG=" LFLAGS=-L/delexe dmd.
exe
dmc -cpp idgen
link idgen,,,user32+kernel32/noi;


idgen

\dm\bin\dmc -c -Iroot;\dm\include  -o  -cpp -D_DH  mars -Ae
Error: '\dm\bin\dmc' not found

--- errorlevel 1

--- errorlevel 1
C:\D\dmd2\src\dmd>

This post was edited on 2010-06-03, 16:24 by levent2z.
canalpay (Moderator) #7
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
QtD'yi bugün kurdum. Kurarken uyarı(Warning) versede kurulumu tamamladı.
Kurarken Ali Beyin yazdığı adımları uyguladım(ilk başta ./configure -static dedim).
Ali beyin qtD'yi edindim ve güncel qt ile(4.6.3) ile kurdum.

Ama bir örnek çalıştıramadım. dosya yerleri Ali Beyin verdiği örnekteki gibi. Aynı.
Sanırım hata bende. Ama nasıl bir komut vermeliyim ?
canalpay (Moderator) #8
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Yani hatasız ama uyarılı olarak qtD'yi kurdum.

Nasıl örnek çalıştırabilirim diye soruyorum ?


Bu arada  şuan örnek çalıştırabilmek için ~/qtd/examples'de konsoldan cmake ../ ve ardından make dedim. Bir şeyler yapıyor.
canalpay (Moderator) #9
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Belirli bir yere kadar gelebildim.

Bu belirli bir noktaya doğru mu geldim bilmiyorum ama yaptıklarım şunlar idi :

/usr/local/lib dizinine gerekli kütüphaneleri(.a ile biten) kopyaladım.(diye sanıyorum.)

/usr/local/include/d içine gerekli dizinleri karma yapıp kopyaladım.(diye sanıyorum.)

Ve en sonunda şöyle bir hata verdi: http://www.ozgurlukicin.com/yapistir/580/
acehreli (Moderator) #10
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
QTextCodec_shell.cpp:(.text+0xb13): undefined reference to `QListData::detach3()'
/usr/local/lib/libqtdcore.a(QTextCodec_shell.cpp.o): In function `qtd_QTextCodec_codecForUtfText_QByteArray_QTextCodec':
...
collect2: ld returned 1 exit status

Hepsi bağlayıcı hataları yani. Tanımsız (undefined) olduğu söylenen isimlerin hep Q ile başladıklarına bakılırsa Qt'nin bir kütüphanesi bulunamıyor. (?)

Ali
canalpay (Moderator) #11
User title: Can Alpay Çiftçi
Member since Jul 2009 · 1032 posts · Location: İzmir
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Hepsi bağlayıcı hataları yani. Tanımsız (undefined) olduğu söylenen isimlerin hep Q ile başladıklarına bakılırsa Qt'nin bir kütüphanesi bulunamıyor. (?)

Ne yazık ki bu yeterince açıklayıcı olamaz. Ben demiştim hata mesajları yeterli değil diye. Neden zamanında işlev yazılmış tanımlanmış mı tanımlanmamış mı bakılmaz ki !

Belki yarın yine denerim patch ile diyeceğim ama denemekte o kadar kolay değil ki.

Mengü Bey kurdum demişti ama nasıl kurduğunu söylemedi. Aslında ondan da öğrenebiliriz belki.
acehreli (Moderator) #12
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by canalpay:
Neden zamanında işlev yazılmış tanımlanmış mı tanımlanmamış mı bakılmaz ki !

Bu, bağlayıcının bir esnekliğinden kaynaklanıyor: bağlayıcı, dilden haberi olmadan kendisine verilen program parçalarını (.o dosyaları (object files) ve kütüphaneler) bir araya getirir ve programı oluşturur.

Program parçaları daha bağlayıcıya gelmeden önce ayrı ayrı derlendikleri için, eksik tanımlar ancak bağlama durumunda anlaşılabiliyor.

Bağlayıcı da elinden geldiği kadar bilgiyi veriyor. Örneğin alıntı yaptığım bölümden anlaşıldığına göre,

- /usr/local/lib/libqtdcore.a isimli kütüphaneyi oluşturan
- QTextCodec_shell.cpp.o dosyasının içindeki
- qtd_QTextCodec_codecForUtfText_QByteArray_QTextCodec isimli işlev,
- QListData::detach3() çağrısı yapmış

ama QListData::detach3() işlevi, .o veya .a dosyaları içinde bulunamıyor.

Derleme zamanında hiçbir hata olmadığı için derleyici hata veremiyor. Bağlayıcı farkettiğinde ise çok geç oluyor. :/

.cpp uzantısına bakılırsa o dosyalar hep C++ dosyaları. D'de bütün .d dosyalarını dmd satırına yazmamızın bir yararı da bu tür hataların daha derleme zamanında görülebilmeleri.

Belki yarın yine denerim patch ile diyeceğim ama denemekte o kadar kolay değil ki.

Çok zor iş gerçekten. Bence en iyisi çalışan bir Linux dağıtım pakedi bulmak. :/

Ali
levent2z #13
Member since Jun 2010 · 16 posts
Group memberships: Üyeler
Show profile · Link to this post
bir halt ettim bende linux kurdum (ubuntu)
qtd olmasa bile linux icin qt kurmaya calisiyorum.
hala derliyor 45dk felan oldu.
ne kadar sürecek bu :D
acehreli (Moderator) #14
User title: Ali Çehreli
Member since Jun 2009 · 1981 posts
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Bence en iyisi Qt'yi Linux dağıtımın paket yöneticisi ile kurmalı... Desteklenmiyor mu acaba? Mengüüü! Yardııım! :)

Ali
Mengu (Moderator) #15
User title: NONSERVIAM
Member since Jul 2009 · 240 posts · Location: Dersaadet
Group memberships: Genel Moderatörler, Üyeler
Show profile · Link to this post
Quote by acehreli:
Bence en iyisi Qt'yi Linux dağıtımın paket yöneticisi ile kurmalı... Desteklenmiyor mu acaba? Mengüüü! Yardııım! :)

Ali

yettim ustad! :)

kde kullanan bir dagitim kullaniyorsaniz qt otomatik mevcut.

ben gnome kullaniyorum. oturup qt falan derlemedim acikcasi, kde'de cok sevdigim bir program var "konversation" isminde, bir irc client, onu kurdum, gerekli qt kutuphanelerini kurdu. fakat buna ihtiyaciniz yok, libqt4 paketlerini kurmaniz yeterli.

geleyim, qtd'yi kurmaya. onu da suradaki gibi yaptim http://dsource.org/projects/qtd/wiki/BuildLinux. fakat build ederken "QGraphicsObject" hata vermisti. build/gui.txt'den bunu silerek denememi soylediler, ben de o sekilde yaptim ve sorunsuz kuruldu.

hatta o verdigim linkteki screenshot bana ait. :)
http://www.mengu.net - ki$isel bili$im guncesi.
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please note the verification code from the picture into the text field next to it.
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Page:  1  2  next 
Not logged in. · Lost password · Register
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Current time: 2012-02-05, 11:17:17 (UTC -08:00)