Ich arbeite an einem C ++ - Projekt und wir mussten kürzlich einen kleinen Teil des Boosts darin einbauen. Der Boost-Part ist wirklich minimal (Boost :: Python), so dass die Verwendung von bjam, um alles zu erstellen, wie ein Overkill aussieht (außerdem fühlt sich jeder, der an dem Projekt arbeitet, mit make zufrieden und kennt kein Jam-Wissen).
Ich habe schon einige Tests gemacht, aber ich finde keine Möglichkeit, die früher erwähnte Bibliothek in mein Makefile aufzunehmen und den Build erfolgreich zu machen.
All Ihre Hilfe ist zutiefst geschätzt. :)
Ich hatte das gleiche Problem und fand in diesem Tutorial eine Lösung. Sie müssen 1) die Quelle in eine Objektdatei mit der Option -fPIC
gcc kompilieren und 2) dieses Objekt in eine Bibliothek mit der Option -shared
gcc kompilieren. Natürlich müssen Sie auch mit der Boost.Python-Bibliothek verlinken (generell -lboost_python
, für mein Debian-System ist es jedoch zB -lboost_python-mt-py25
, ich muss auch -I/usr/include/pythyon25
hinzufügen). In meinem Makefile beende ich diese zwei Schritte in einem Befehl. Siehe auch p. 13 dieser Präsentation .
Sie können Boosts bcp-Dienstprogramm verwenden, um nur die Teilmenge von Boost zu extrahieren du brauchst. Das wird Ihre Bauzeit minimieren und Größe.
Das beantwortet Ihre Frage jedoch nicht. Sie sollten in Erwägung ziehen, die Boost.Python-Bibliotheken separat zu erstellen und direkt in Ihrem Quellcodeverwaltungssystem zu prüfen. Dann müsste niemand sie bauen.
Wenn Ihnen bjam unangenehm ist, sollten Sie Boost.Cmake .
Führe bjam aus dem Makefile aus, nur um dieses Teil zu erstellen
Tags und Links c++ boost build-process makefile boost-python