Boost::Thread linking klappt nicht



  • Janjan schrieb:

    Erstmal vorkompilierte Header bringen dir gar nichts. Wenn dann brauchst du vorkompilierte Bibliotheken. Und dort ist mir keine vorkompilierte Boost-Bibliothek bekannt, die die Thread-Bibliothek enthält.

    Ist im BoostPro-Installer enthalten. Einfacher gehts wirklich nicht mehr.



  • Michael E. schrieb:

    Janjan schrieb:

    Erstmal vorkompilierte Header bringen dir gar nichts. Wenn dann brauchst du vorkompilierte Bibliotheken. Und dort ist mir keine vorkompilierte Boost-Bibliothek bekannt, die die Thread-Bibliothek enthält.

    Ist im BoostPro-Installer enthalten. Einfacher gehts wirklich nicht mehr.

    Das wär mir aber ganz neu, dass die auch im BoostPro-installer enthalten ist.



  • Wenn ich das richtig interpretiere sagt dieser Teil des Tuturials aus das ich nix mehr machen muss wenn ich den Installer von BoostPro benutz habe, was ich auch habe, oder obliege ihc da einem Irrtum?

    The installers supplied by BoostPro Computing will download and install pre-compiled binaries into the lib\ subdirectory of the boost root, typically C:\Program Files\boost\boost_1_42_0\lib\. 
    If you installed all variants of the Boost.Regex binary, you're done with this step. Otherwise, please run the installer again and install them now.
    

    Abgesehen davon das ich bei der Installation "thread" habe anklicken müssen dürften doch zu Regex keine Unterschiede bestehen?



  • Janjan schrieb:

    Das wär mir aber ganz neu, dass die auch im BoostPro-installer enthalten ist.

    Ich sitz grad an nem Laptop, auf dem Boost 1.42 mit dem BoostPro-Installer installiert wurde und Boost.Thread funktioniert :p



  • Ich sitz grad an nem Laptop, auf dem Boost 1.42 mit dem BoostPro-Installer installiert wurde und Boost.Thread funktioniert

    Wär nett wenn du mir ne schritt für schritt übersicht geben könntest was du gemacht hast.



  • Ich nehme mal an, du hast dich bereits registriert und bei http://www.boostpro.com/download den Installer runtergeladen.

    Installer starten, agree, agree, Server wählen (Standardeinstellung ist gut). Dann wählst du die Versionen, die du gerne installieren möchtest, das wäre bei dir Visual Studio 9.0 mit den entsprechenden Varianten bzgl. Threads, Debug/Release und Linking (im Zweifel kannst du einfach alle installieren 😉 ).

    Im nächsten Dialog gehts dann an die einzelnen Bibliotheken, die du installieren möchtest und die nicht nur aus Headern bestehen. Auch hier würde ich dir empfehlen, einfach alle Bibliotheken zu installieren, zum einen wegen eventuellen Abhängigkeiten, zum anderen weiß man, wenn man neu bei Boost ist, nicht, welche Bibliotheken man übermorgen benutzen möchte, weil sie so praktisch sind. Hierbei würde ich dann aber bei den einzelnen Bibliotheken auch jeweils nur für VS 9.0 installieren. Dann musst du nur noch das Zielverzeichnis wählen und bist dann fertig.

    Ich hatte schon Probleme mit dem Installer bei einer 384kbit-Internetleitung, weil dann einzelne Dateien einfach zu groß waren, um sie im gegebenen Zeitfenster runterzuladen, bevor man für tot erklärt wird. Sonst hatte ich aber noch nie Probleme.



  • ok und wie bindest du sie dann in dein Projekt ein?



  • Setze die Umgebungsvariable "boost" auf deinen Boost-Ordner. Dann im Visual Studio Rechtsklick auf das Projekt -> Eigenschaften:

    1. -> C/C++ -> Zusätzliche Includeverzeichnisse: $(boost)
    2. -> Linker -> Zusätzliche Bibliotheksverzeichnisse: $(boost)/lib


  • es klappt immer noch nicht, ich fühle mich mittlerweile leicht dumm 😞

    ok include verzeichnis: C:\Programme\boost\boost_1_42\boost
    bibverzeichnis: C:\Programme\boost\boost_1_42\lib

    Fehlermeldung: fatal error C1083: Datei (Include) kann nicht geöffnet werden: "boost/thread.hpp": No such file or directory



  • Include-Verzeichnis: C:\Programme\boost\boost_1_42\



  • danke jetzt klappt es 🙂 z.m. das Compilieren 😃 danke :schland: :schland:


Anmelden zum Antworten