boost regex Problem beim Einbinden ins Projekt
-
Typischerweise werden libs in den stage\lib Ordner (Unterhalb vom Boost Root Verzeichnis) gebuildet, den musst du VS auch noch bekannt geben. Den Ordner bin.v2 kannst Du löschen.
-
ok, hab nun auch :
C:\Program Files (x86)\boost_1_46_1\stage\libin VS angegeben, leider das selbe Problem.
libboost_regex-vc100-mt-gd-1_46_1.lib ist in dem Unterverzeichniss "stage\lib" aber vorhnden.
Sonst noch ne Idee ?
-
Handelt es sich auch um einen DEBUG-build? Wird gegen die RuntimeLibrary dynamisch gelinkt?
Verwendest du vlt. irgendwo noch andere import/export-settings?
Include-Verzeichnis richtig angegeben?
Alternativ mal versucht explizit zu linken (also keine automatic linkage)?
-
inter2k3 schrieb:
Handelt es sich auch um einen DEBUG-build?
Auch, aber auch ein RELEASE-build bringt keinen Unterschied.
inter2k3 schrieb:
Wird gegen die RuntimeLibrary dynamisch gelinkt?
Puhh, dass kann ich dir so gar nicht sagen, da ich es nicht weiß.
inter2k3 schrieb:
Verwendest du vlt. irgendwo noch andere import/export-settings
Ich Linke noch die Ws2_32.lib
inter2k3 schrieb:
Include-Verzeichnis richtig angegeben?
Da ich das Verzeichniss in VS direkt über die Ordnerauswähl auswähle, dürfte das schon richtig sein.
inter2k3 schrieb:
Alternativ mal versucht explizit zu linken (also keine automatic linkage)?
Wenn du mir sagt, wie ich das mache, probier ich das gerne mal aus.
-
Darter schrieb:
inter2k3 schrieb:
Handelt es sich auch um einen DEBUG-build?
Auch, aber auch ein RELEASE-build bringt keinen Unterschied.
An dem d erkennst du, dass es für ein debug-build gedacht ist.
Darter schrieb:
inter2k3 schrieb:
Wird gegen die RuntimeLibrary dynamisch gelinkt?
Puhh, dass kann ich dir so gar nicht sagen, da ich es nicht weiß.
Rechte Maustaste auf dein Projekt im Projektmappen-Explorer -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Codegenerierung -> Laufzeitbibliothek
Darter schrieb:
inter2k3 schrieb:
Verwendest du vlt. irgendwo noch andere import/export-settings
Ich Linke noch die Ws2_32.lib
Ich dachte eher an die diversen boost-macros.
Siehe auch: Boost Macro-Reference (auch mal ganz unten auf dieser Seite schauen unter Automatic library selection.Darter schrieb:
inter2k3 schrieb:
Include-Verzeichnis richtig angegeben?
Da ich das Verzeichniss in VS direkt über die Ordnerauswähl auswähle, dürfte das schon richtig sein.
inter2k3 schrieb:
Alternativ mal versucht explizit zu linken (also keine automatic linkage)?
Wenn du mir sagt, wie ich das mache, probier ich das gerne mal aus.
Beispielsweise über rechte Maustaste auf Projekt im Projektmappen-Explorer -> Eigenschaften -> Konfigurationseigenschaften -> Linker -> Eingabe -> Zusätzliche Abhängigkeiten und dort die entsprechende lib eintragen, oder über ein pragma.
-
Wahrscheinlich ist ganz einfach der Pfad (zu den libs) falsch - ist typischerweise DER Fehler der begannen wird.
-
hey.
Ok, die Laufzeitbibliothek steht auf : Multithreaded-Debug-DLL (/MDd)
Hmm, ich hab mir das mal angschaut, auf der Seite die du gepostet hast, jeoch verteh ich da nicht viel.
Algemein verstehe ich in den Headerdateien recht wenig. Ich hab mir das etwas einfacher vorgestellt. Ich bin davon ausgegangen, ich include ich regexp.h und schon kanns los geh, dann sagte man mir, ich soll ein weitere includeverzeichniss angeben, klinkt Logusch, und hab ich auch gemacht, aber wieder FAIL.
Was ich der Seite entnehmen kann, ich muss ertsmal verhindern, dass die auto_link.hpp includet wird, um per parama die lib direkt zu linken, jedoch finde ich in den vielen headerdateien die stelle wo das geschiet leider nicht.
Weitere boost-macros verwende ich nicht.
-
Prinzipiell geht das auch so einfach

Wo und wie hast du denn die Verzeichnisse (include und lib) gesetzt?
Und inkludier mal die regex.hpp, nicht die regex.h
-
So, habe die stelle, mit dem auto-link nun gefunden und mal auskommentiert.
Dann über Parama die lib direkt gelinkt, selber fehler - > kann nicht geöffnet werden.Das zusätzliche include verzeichniss hab ich volgendermaßen gesetzt :
Rechte Maustaste auf mein Projekt im Projektmappen-Explorer -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Allgemein - > Zusätzliche Includeverzeichnisse
Dort hab ich :
C:\Program Files %28x86%29\boost_1_46_1eingeragen, da das mein root-Verzeichniss von boost ist.
Dann meinte jemand, ich sollte auch noch das Verzeichniss angeben, wo die lib´s liegen, und zwar :
C:\Program Files %28x86%29\boost_1_46_1\stage\lib
-
Gut - die include-Direktive lautet also dann:
#include <boost/regex.hpp>Das .../stage/lib Verzeichnis gibst du dann unter Linker->Allgemein->Zusätzliche Bibl.Verzeichnisse an, oder direkt unter VC++-Verzeichnisse->Bibliotheksverz.
Ansonsten hat vlt. irgendwas nicht geklappt beim lib-build?