Threadart auch Linux kompatibel?



  • Nun komm ich auch direkt mit dem ersten Fehler.

    Laut der Einführung bei boost.org benötigt die Thread Bilbliothek eine Library. Diese soll eingebunden werden wenn man den Ordner "Lib" aus dem Boost_1_39_0 Verzeichnis als Libary Verzeichnis angibt.

    Der Compiler(Visual Studio) jagt folgende Fehlermeldung raus:

    Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_39.lib' boost_threads boost_threads

    Dabei gibt es diese Library in diesem Ordner (Lib) garnicht.....

    .... Wieso war mir dieses Boost Projekt vorher eigentlich noch nicht bekannt gewesen?..... *grübel grübel* :p


  • Administrator

    WAR][FIRE schrieb:

    Dabei gibt es diese Library in diesem Ordner (Lib) garnicht.....

    Hast du auch die Boost Bibliotheken korrekt über Bjam kompiliert? Steht zwar auch in der Einführung, aber aus einem unerklärlichen Grund überspringen es 99% der Leser, wahrscheinlich weil sie die Seite nicht genau genug lesen ...

    Grüssli



  • Na, du mußt die Library ja erstmal bauen, mit bjam! Den Getting Started Link hat dir Davere ja bereits genannt.

    Die meisten Boost-Libs sind reine Header-Libs (weil Templates!). Aber manche wenige Libs sind als Binary-Libs nötig (und Boost.Thread gehört dazu). Die musst du für deine Platform und für deinen Compiler selber bauen! Das kann Boost garnicht leisten, weil schon der Build für MSVC bei mir >500 MByte groß ist. Wenn die das für jeden Compiler und Platform zum Download bereit stellen würden, würde boost.org explodieren.

    Also, Getting Started lesen!



  • Das hier ist vielleicht auch noch interessant.
    http://www.highscore.de/cpp/boost/



  • Artchi schrieb:

    Das kann Boost garnicht leisten, weil schon der Build für MSVC bei mir >500 MByte groß ist. Wenn die das für jeden Compiler und Platform zum Download bereit stellen würden, würde boost.org explodieren.

    Ok das klingt logisch. Mein armer Prozessor leidet gerade ganz schön beim erstellen mit bjam 🕶

    Hoffentlich klappt es dann. Man man das spart sich echt eine menge Arbeit mit Boost. Selbst wenn es nicht soo einfach ist wie du schon sachtest.
    Aber eine gute Sache für Programmierer ist es allemal 🙂

    Das das wird in meine Bachelorarbeit mit einfließen, die ich möglichst schnell fertig bekommen möchte 😃 kann sein das ich ab und an daher nochmal nerfen werde 😉

    Edit:

    Braunstein schrieb:

    Das hier ist vielleicht auch noch interessant.
    http://www.highscore.de/cpp/boost/

    Diese Sprache lässt sich gleich 5 x fließender lesen. Thx 😉



  • *klopf* *klopf*

    *guck ob Artchi und Dravere nicht schon mitm Knüppel auf mich warten*

    Keiner da 😃

    Also ich hab da noch zwei Fragen:

    1. bjam hat nun 2 ziemlich große Ordner erstellt. Einmal den "Stage" Ordner mit den Librarys und einmal einen "bin.v2" der unter anderem DLL Files und Objektdateien enthält. Kann ich den "bin.v2" Ordner löschen?

    2. Ich bekomme hier gerade sehr erfolgreich (für den ersten Versuch) Threads zum laufen. Nun finde ich aber nichts zum Thema Socket erstellung. Spezieller: Aufbau einer Verbindung über das TCP-IP Protokoll. Gibt es da bei boost auch was zu? Ich finde leider nichts 😕

    Gruß
    WAR][FIRE 🙂



  • Zu 2.
    Boost.Asio bietet eine Socket Library.
    Simon



  • theta schrieb:

    Zu 2.
    Boost.Asio bietet eine Socket Library.
    Simon

    Ist dort auch ein einfacher Datenaustausch via. recv(..) und send(..) möglich?



  • Dieses v2 kannste Löschen. Eintragen mußt du in die MSVC-Verzeichnis-Optionen:

    Für Includes:
    C:\Boost_XXXX

    Wenn TR1 mit dabei sein soll:

    *C:\Boost_XXXX\boost\tr1\tr1
    C:\Boost_XXXX
    *
    Für Libs:
    C:\Boost_XXXX\stage\lib


  • Administrator

    WAR][FIRE schrieb:

    Ist dort auch ein einfacher Datenaustausch via. recv(..) und send(..) möglich?

    Also ehrlich:
    Tutorial: http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/tutorial.html
    Referenz: http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/reference.html

    Lies selber nach, lesen kannst du ja wohl noch, oder? Und schon nur die Frage. Eine Socketbibliothek, welche keinen Datenaustausch zulässt? Was wäre das für eine seltsame Bibliothek?

    Grüssli


Anmelden zum Antworten