thread, c++ ?
-
Es existiert ja ein neues Boost_xyyz-Verzeichnis jetzt auf deinem PC. Das kannst du VC++ bekannt geben: Optionen->Extras->C++->Verzeichnisse oder so. Das kannst du aber auch noch in den Projekt-Einstellung vornehmen, dann gelten die Angaben nur für das eine Projekt.
Da mußt du auf jeden Fall das Header-Verzeichnis und das Lib-Verzeichnis hinzufügen. Dann sucht sich Boost selbst raus, was es braucht. Es reicht dann nur das include in deinem Programmcode. Das Pragma alleine reicht nicht aus! Bzw. mit den oben genannten Angaben kannst du auf das Pragma sogar verzichten.
Hab hier leider kein VC++, sondern zu Hause, deshalb kann ich dir den genauen Menupunkt nicht sagen. Wenn es dir nicht jemand anders sagt, mußt du warten bis ich heute abend zu hause bin.

-
du musst die *.lib mitlinken, nicht die dll. die dll wir dann von der laufzeitumgebung genutzt.
-
hm..ich denk ich hab das jetzt richtig. allerdings findet er die libboost_thread-vc7-mt-gd-1_33.lib nicht. hab den ordner durchsucht, und nichts gefunden.
die heißen alle libboost_thread-vc71-mt-gd-1_33.lib, also "vc71".
als fehler bekomm ich aber angezeigt, das libboost_thread-vc7-mt-gd-1_33.lib nicht geöffnet werden kann
-
Ich hab mal die Boost-Install-Anleitung um einen Punkt erweitert. Vielleicht hilft das?
Die Datei müsste vorhanden sein, bei mir ist die boost_thread-vc71-mt-gd-1_32.lib vorhanden (hab nur eine ältere Boost-Version).
Ansonst kannste die vielleicht noch mal gesondert erstellen lassen, eine Build-Anleitung speziell für die Thread-Lib findest du unter C:\boost_1_32_0\doc\html\thread.
-
die libboost_thread-vc71-mt-gd-1_33.lib ist bei mir auch vorhanden.
aber der compiler fragt nach libboost_thread-vc7-mt-gd-1_33.lib.
also vc7...anstatt vc71.
woran kann das liegen?
-
Oh, welche VC++ Version hast du denn? 7 ist nämlich 2002 und 7.1 ist 2003. Kann es sein, das du eine 7er VC++ hast, du aber dem bjam gesagt hast, das du 7.1er hast?
Notfalls mußt du alles neu bauen, bzw. vielleicht würde schon das neu Bauen der Threadlib reichen? Oder vielleicht nur den Dateinamen ändern, für einen quick and dirty Versuch?

-
ja hab ich mir auch schon gedacht. werd wohl ne 7er version haben.
aber ich hab dem bjam doch überhaupt nichts gesagt. ging doch alles von allein.
quick und dirty funzt leider nich.
meinste das geht nich mit ner 7er? kann ich einfach die ordner löschen? is dann alles weg? probier mal nochma zu ziehn.----------
YIIIIIIPPEEEEAAAAAHHHHHH
geht doch die quick und dirty methode.
vielen vielen dank für deine hilfe
-
Naja, du wirst ja sowas gemacht haben: bjam.exe "-sTOOLS=vc-7_1" install
sTOOLS sagt ihm, welchen Compiler du hast. Für deine 7er Version mußt du anstatt vc-7_1 die vc7 angeben.
Übersicht der Compiler und der passenden Paramter findeste hier:
http://www.boost.org/more/getting_started.html#ToolsAnsonst einfach nur das c:\boost löschen, weil das autom. generiert wurde. Das was du runter geladen und entpackt hattest (..\boost_1_33) kannste wieder benutzen.
-
ebrosius schrieb:
YIIIIIIPPEEEEAAAAAHHHHHH

geht doch die quick und dirty methode.
vielen vielen dank für deine hilfeAber nicht wundern wenn du mal mehr von Boost benutzen willst.
Aber für die ersten Schritte mit threads reicht es ja.
-
wieso?
kann ich nich jetz einfach alle libs ändern?
-
Weiß nicht, ist halt quick und dirty... dirty sagt ja schon alles. Klar, wenn es soweit gut geht, kannste das natürlich machen. Fragt sich nur, ob es Spaß macht alles von Hand zu ändern, oder einfach nur einmalig die Commandozeile einzugeben? Du kannst ja die Libs auch einzeln bauen lassen. Mußt ja nicht alles neu bauen lassen, wenn es dir zu lange dauert. Falls es komisches Verhalten von Boost gibt, darfst du das dann aber nicht auf Boost schieben. Ist halt eine quick und dirty Lösung.
Aber für die ersten Erfahrungen mit boost::thread ist das denke ich aber ausreichend.