Ich versuche eine Anwendung zu erstellen, die von Boost abhängt. Also habe ich Boost 1_41_0 in meine Linux-Box heruntergeladen und den Anweisungen auf der Boost-Site für Unix-Varianten http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html gefolgt.Building Boost unter Linux - Bibliotheksnamen
Sie im Grunde vorschlagen, dass ich laufen ./bjam installieren, was ich getan habe. Der Build wurde erfolgreich abgeschlossen. Die Bibliotheksnamen scheinen jedoch nicht mit der Boost-Namenskonvention übereinzustimmen, die sowohl in der obigen Dokumentation als auch im Makefile der Anwendung beschrieben ist, die ich erstellen möchte.
Ich bemerkte, dass es eine Reihe von Optionen gibt, die ich angeben kann, um zu bjam und ich habe versucht, mit denen zu spielen, aber egal was passiert, ich kann nicht scheinen, es richtig zu machen. Nach meinem Verständnis sollten die Bibliotheken in das Verzeichnis $ BOOST_ROOT/lib gehen. Dies ist, wo die Bibliotheken zeigen, aber genannt:
libboost_thread.a
libboost_thread.so
libboost_thread.so.1.41.0
Ich würde erwarten, dass sie libboost_thread-gcc41-mt-d-1_41_0 oder etwas ähnliches genannt werden.
Ich habe versucht ./bjam --build-type = complete --layout = markiert, und ich sehe:
libboost_thread.a
libboost_thread-mt.a
libboost_thread-mt-d.a
libboost_thread-mt-d.so
libboost_thread-mt-d.so.1.41.0
libboost_thread-mt-s.a
libboost_thread-mt-sd.a
libboost_thread-mt.so
libboost_thread-mt.so.1.41.0
libboost_thread.so
libboost_thread.so.1.41.0
Also, ich bin nicht sicher, ob ich sollte nur meine -L Verzeichnis machen Bühne? Gibt es Unterlagen, die das genauer beschreiben?
Wie baut man einen Boost mit Multithreading-Unterstützung? Boost's [Installation] (http://www.boost.org/doc/libs/1_54_0/doc/html/bbv2/installation.html) erwähnt es nicht. – jww
Verwenden Sie beim Erstellen von Boost: ./b2 --build-type = complete --layout = versioniert Dadurch wird jede Version jeder Bibliothek generiert, einschließlich der Multithread-Bibliotheken. – Riot
Danke Riot. Von [anderen Diskussionen] (http://stackoverflow.com/questions/2293962/boost-libraries-in-multithreading-aware-mode) in Stack Overflow scheint Boost standardmäßig multi-threaded zu sein. Wenn ich also "./B2" spiele, dann bekomme ich Multi-Threading ohne Dekorationen. Ist das nicht der Fall? – jww