Ich versuche gerade, eine Kontraktionshierachies-Implementierung vom KIT zu kompilieren, die Boost :: Regex benötigt. Das mitgelieferte Makefile stellt bereits sicher (und ich habe das auch manuell überprüft), dass g ++ mit dem Schalter -lboost_regex
geliefert wird. Wenn die Bibliothek nicht installiert ist, wird sich g ++ beschweren.
Also habe ich die Bibliothek von meinen Paketquellen installiert und erneut versucht, sie zu kompilieren. Dieses Mal bekomme ich eine Menge Linker-Fehler bezüglich Boost :: Regex. Hier ist ein kurzer Auszug:
%Vor% Das sieht sehr ähnlich aus, als ob der Compiler die Bibliothek überhaupt nicht gefunden hat. Wenn ich den Schalter -lboost_regex
nicht anschließe, bleibt die Ausgabe unverändert (ich habe einen Hash darauf ausgeführt).
Allerdings wird der Linker mit dem -Wl,--verbose
-Schalter ausgeführt, wie in nuwen MinGW + Boost- Fehler beim Verknüpfen von boost_regex zeigt an, dass die Bibliothek gefunden wurde:
Alles was ich weiß ist, dass dies wahrscheinlich eine andere Boost-Version ist als die, als die Software geschrieben wurde (ich weiß nicht welche. Ich benutze jetzt 1.53). Aber wenn man sich den Code anschaut, sollte er trotzdem funktionieren Arbeit. Außerdem verwende ich die Header dieser Boost-Version, so dass der Compiler sich bereits beschweren sollte, wenn sich die Funktionssignaturen geändert haben.
Wie kann ich das verlinken? Fehle ich etwas?
Tags und Links gcc linker boost boost-regex linker-errors