Frage

Hat jemand keine Erfahrung mit dem Betrieb C ++ Anwendungen, die die Boost-Bibliotheken auf uclibc-basierten Systemen verwenden? Ist es überhaupt möglich? Welche C ++ Standard-Bibliothek würden Sie nutzen? Ist uclibc ++ verwendbar mit Boost?

War es hilfreich?

Lösung

Wir steigern verwenden zusammen mit GCC 2.95.3, libstdc ++ und STLport auf einer ARMv4 Plattform läuft uClinux. Einige Teile von Boost-sind nicht kompatibel mit GCC 2.x aber diejenigen, die gut funktioniert in unserem speziellen Fall sind. Die Bibliotheken, die wir am meisten verwenden sind date_time bind Funktion Tupel und Thread .

Einige der Bibliotheken wir Probleme hatten mit waren Lambda shared_pointer und Format . Diese Fragen wurden höchstwahrscheinlich durch unsere Version von GCC verursacht, da es Probleme hat, wenn Sie zu viele enthalten oder tiefe Ebene von Vorlagenstrukturen.

Wenn möglich, würde ich empfehlen Ihnen die Boost-Testsuite mit Ihrem speziellen Werkzeugkette zu laufen Kompatibilität zu gewährleisten. Zumindest könnte man eine native Toolchain, um kompilieren, um sicherzustellen, dass Ihre Bibliothek Versionen kompatibel sind.

Wir haben uClibc nicht verwendet ++ denn das ist nicht das, was Anbieter unsere Toolchain empfiehlt, so kann ich nicht auf diese bestimmte Kombination Stellung zu nehmen.

Andere Tipps

Wir verwenden viele der Boost-Bibliotheken (Gewinde, Dateisystem, Signale, die Funktion bind, irgendwelche, asio, smart_ptr, tuple) auf einer Arcom Vulcan , die für ein Embedded-Gerät (64M RAM, 533 MHz XScale) zugegebenermaßen ziemlich mächtig. Alles funktioniert wunderbar.

GCC 3.4, aber wir sind nicht mit uclib ++ (Arcom stellt eine Werkzeugkette, die libstd umfasst ++).

Viele Embedded-Geräte werden gerne viele der Boost-Bibliotheken laufen, unter der Annahme, anständige Compiler-Unterstützung. kümmern uns nur mit der Nutzung. Die Boost-Bibliotheken heben das Niveau der Abstraktion und es kann leicht sein, mehr Ressourcen zu nutzen, als Sie denken.

Ich googeln "uclibc STLport". Es scheint, dass es zumindest ein paar Versionen von uclibc sind, für den STLport kompiliert werden kann (siehe diese ). Da würde ich sagen, Boost ist nur wenige Schritte entfernt Kompilation. Ich habe eine Nachricht von David Abrahams lesen (die ein aktives Mitglied der Boost-Community ist), die besagt, dass Boost-nicht direkt von der verwendeten libc abhängt. Aber einige Bibliotheken können immer noch Probleme verursachen, Boost.Python zum Beispiel, da es auf etwas anderes abhängt (Python in meinem Beispiel), die schwierig sein könnte, mit uclibc zu kompilieren.

Hope, das hilft

ich nicht versucht haben, aber ich weiß nichts über uclibc, die Erhöhung von der Arbeit.

verhindern

Versuchen Sie es und sehen, was passiert, würde ich sagen.

Ja, Sie können Schub mit uclibc verwenden.
Ich habe versucht, dies mit Boost 1,45 & uclibc auf ARM9260

  1. Verwenden Sie frische Openembedded
  2. Konfigurieren Sie Angstrom verwenden
  3. Konfigurieren Angstrom verwenden uclibc
  4. Schub machen - bitbake steigern
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top