2009-06-16 4 views
4

Ich benutze Boost Build in meinem Projekt und jetzt möchte ich Boost date_time verwenden. Ich habe gegoogelt und herausgefunden, dass es sollte (wahrscheinlich) auf diese Weise verwendet werden:boost build site-config.jam auf gentoo

exe test : test.cpp /boost/date_time//date_time ; 

aber dann bekomme ich diese Meldung:

error: Unable to find file or target named 
error:  '/boost/date_time//date_time' 
error: referred from project at 
error:  '.' 

(wenn ich -lboost_date_time als gcc Flag verwenden, manuell, dann es funktioniert richtig) ich dachte, dass die Bibliothek oly orts config.jam hinzugefügt werden muss, so habe ich versucht, diese Zugabe:

project /boost/date_time ; 
lib date_time ; 

aber es hat keine Wirkung.

Was mache ich falsch?

Thaks

Edit: Ich bin nicht für eine Lösung, die einfach funktioniert. Ich brauche etwas, das mit der korrekten Installation von boost.build- und boost-Bibliotheken für jeden funktioniert.

Antwort

2

Ich empfehle Ihnen, einen Blick auf contrib/boost nehmen .jam Modul in den aktuellen Versionen von Boost.Build. Es erlaubt Ihnen, notwendige Ziele für jede Bibliothek fast automatisch zu deklarieren.

Oder der ursprüngliche Versuch ist nicht genau richtig. Zu haben "/ site-config // boost_date_time" arbeiten Sie diese in Website-config.jam haben müssen:

project site-config ; 
searched-lib boost_date_time ; 

Dies funktioniert, auf Linux, wenn die Bibliotheksdatei libboost_date_time.so benannt ist (die der Fall, wenn Boost mit --layout = System gebaut wurde. Unter Windows brauchen Sie nichts davon, dank Autolinking.

1

Ich habe nicht eine Tonne Erfahrung mit Boost-Build, aber ich glaube, dass Ihre Spezifikation in Site-Konfiguration deaktiviert ist (siehe here und here). Wenn Sie versuchen, eine vorkompilierte boost_date_time in Ihrer Website-config zu setzen, dann sollte es sein:

project site-config ; 
lib b_date_time : : <name>boost_date_time ; 

Und in Ihrem Verzeichnis:

exe test : test.cpp /site-config//b_date_time ; 
+0

Danke für die Antwort. Dies funktioniert, aber ist dies der richtige Weg, um die vorgefertigten Boost-Bibliotheken zu spezifizieren? Die Sache, die ich versuche zu tun ist, dass, wenn jemand mit der frischen (und korrekten) Installation von Boost Build mein Projekt zieht, es nur kompilieren sollte. Ich muss das zur Frage hinzufügen :-) – cube

+1

Ich bin ziemlich sicher, es wird funktionieren, wenn jemand boost_date_time installiert hat, aber ich konnte nicht sagen, ob es Best Practices ist. Sie könnten mehr Traktion auf einer Boost-Mailing-Liste haben: http://www.boost.org/community/groups.html#jamboost –

Verwandte Themen