"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

c++ einstieg mit Schwierigkeiten

Marcellus 16.08.2007 - 00:14 940 10
Posts

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Ich hab beschlossen mal in c++ reinzuriehen und hab mir c++ von a bis z gekauft, das buch ist schön, aber ich brings nicht zusammen ein programmier buch zu lesen ohne das ganze gleich irgendwie anzuwenden. Und die beispiele zu compilieren und schauen dass es funktioniert hat imho wenig Sinn.

Deswegen hab ich mir überlegt wie ich das ganze gleich sinnvoll anwenden kann. Im endeffekt hab ich mich dafür entschlossen einen torrent client zu schreiben. Ja stimmt schon es gibt eh einen Haufen davon aber ich hab vor das ganze so zu implementieren, dass es möglichst leicht wird das ganze an einen Packetmanager anzubinden. So in die richtung mpd mit mehr usern und so.

Aber wieder zurück zum thema ich wollt mir einfach mal eine schöne, gut dokumentierte torrent library suchen und mit einem möglichst kleinen example client herumspielen.

Ich hab dann auch gleich zwei seiten gefunden

http://libtorrent.rakshasa.no/ <scheint momentan off zu sein

und

http://www.rasterbar.com/products/l...t/examples.html

Ich habs bei beiden Seiten nicht geschafft den primitiv client zu bauen und ich hab nicht wirklich eine ahnung warum. Von der ersten seite meinte der Maintainer er hat jetzt keine zeit und bei der zweiten hab ich keine antwort bekommen.

das ist der dump: http://rafb.net/p/7QByhn69.html

und das ist der code: http://www.marcellus.arona.at/main.cc

Für gentoo user das packet heist net-libs/rb_libtorrent
für alle anderen http://sourceforge.net/project/show...?group_id=79942

das ganze braucht noch boost mit bjam und threads support, vllt auch mehr aber die hab ich durch die fehlermeldungen rausbekommen
http://sourceforge.net/project/show...p?group_id=7586

asio braucht das ganze auch http://sourceforge.net/project/show...group_id=122478

Ich habs auch schon geschafft deluge mit den libraries zu bauen ich hab nur keine ahnung was da nicht hinhaut.

tia
Bearbeitet von Marcellus am 17.08.2007, 17:31

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
versuch mal die using anweisung außerhalb von main, davor.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
lauter linkererrors. hast du das das object von libtorrent auch im makefile laden lassen? poste mal das makefile bzw. den compileraufruf.

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Ich hab auf der seite kein makefile gefunden und habs einfach nur so compiliert, steht eh oben beimoutput dabei.

Das Programm ist der simple client von http://www.rasterbar.com/products/l...t/examples.html

Ich weis nicht so recht wie ich den libtorrent da reinwursten soll.

@nico using namespace ... ?

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
also ich habs versucht das bodschad nachzumachen, und bei mir scheint er den aufruf "add_torrent(.." nicht zu mögen. etwas strange weil andere funktionen der session klasse gehn. vielleicht liegts am 2. parametertypen. der erste parameter ist afair "new torrent_info(e)".

wegen using, in meiner erinnerung stand das immer außerhalb von funktionen.

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Mit using kannst du den namespace festlegen, aber das ist glaub ich nicht der fall, die funktionen sind eh brav auf libtorrent referenziert.

bodschad?

ich hab aus /usr/include/libtorrent/session.hpp das rausgezogen

http://rafb.net/p/qCi1KO11.html

Ich bin mir nicht sicher wie wo was das sein soll. Ich glaub, dass der erste eintrag auf die initialisierung zutrifft aber was soll

Code:
boost::filesystem::path const& save_path

aber was das im endeffekts ein soll durchblick ich nicht ganz, ich werd aus /usr/include/boost/filesystem/path.hpp

http://rafb.net/p/NiMlFh94.html

nicht wirklich schlau

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Ich weis es ist irgendwie trivial, aber ich hab vergessen gegen die libtorrent zu linken.
Code:
g++ -o client main.cc `pkg-config --libs libtorrent`
hätts getan.

Der libtorrent dev hat mir doch noch geantwortet.

[X] Solved

Und noch mal danke für eure hilfe

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
sowas hab ich mir schon gedacht.
wennst eine IDE verwenden würdest wärs dir gleich aufgefallen :)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Zitat von mat
lauter linkererrors. hast du das das object von libtorrent auch im makefile laden lassen? poste mal das makefile bzw. den compileraufruf.
:D

Nico

former person of interest
Registered: Sep 2006
Location: -
Posts: 4082
jaja :D

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Zitat von Marcellus
Ich hab auf der seite kein makefile gefunden und habs einfach nur so compiliert, steht eh oben beimoutput dabei.
...

nur das der nopaste link tot ist
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz