Boost Lib.
-
Moin, ich hoffe ich habe für mein Thema das richtige Unterforum gewählt.
Mein Problem sieht folgendermaßen aus:
Da ich mich in letzter Zeit etwas mit Netzwerkprogrammierung befasst habe, bin ich auf Boost gestoßen, das mir da recht nützlich erscheint.
Also habe ich mir den Boost-Installer runtergeladen und für Microsoft VS C++ 2010 installiert.
Dennoch bekomme ich bei#include <boost/asio.hpp>eine Fehlermeldung. "Error: Die Datei "Quelle" kann nicht geöffnet werden: "boost/asio.hpp""
Google spuckte aus, dass ich "-lboost_system" in die Befehlszeile des Linkers eintragen sollte. Gesagt getan, Fehler kam immernoch.
Dann habe ich im Linker manuell das Verzeichnis von Boost angegeben "C:\Program Files\boost\boost_1_51\lib" und "C:\Program Files\boost\boost_1_51\libs" habe ich auch versucht - beides half nicht.
-
Du musst natürlich dem Compiler auch das Boost-Hauptverzeichnis als Include-Verzeichnis bekanntmachen, ansonsten findet er unter "boost/..." keine Header.
-
Decimad schrieb:
Du musst natürlich dem Compiler auch das Boost-Hauptverzeichnis als Include-Verzeichnis bekanntmachen, ansonsten findet er unter "boost/..." keine Header.
Danke für die frühe Antwort! Könntest du das etwas präziser ausführen, bzw. etwas genauer erklären wie man das macht?
-
Projekt -> Projekteigenschaften (Alternativ auch Alt+F7) -> Konfigurationseigenschaften -> VC++-Verzeichnisse -> hier bei den nötigen Dateien das Verzeichnis eintragen (normalerweise include, Bibliotheken und Quellen) -> dann ok und schon sollte er die Files finden.
Achtung, hier änderst du standardmässig erstmal nur die aktive Konfiguration (also default Debug), oben kansnt du auswählen ob Release, Debug oder sogar alle Configs...
-
Skym0sh0 schrieb:
Projekt -> Projekteigenschaften (Alternativ auch Alt+F7) -> Konfigurationseigenschaften -> VC++-Verzeichnisse -> hier bei den nötigen Dateien das Verzeichnis eintragen (normalerweise include, Bibliotheken und Quellen) -> dann ok und schon sollte er die Files finden.
Achtung, hier änderst du standardmässig erstmal nur die aktive Konfiguration (also default Debug), oben kansnt du auswählen ob Release, Debug oder sogar alle Configs...
Ich danke dir!
-
Ich selbst lege mir immer auch Systemvariablen für Bibliotheken an, so dass ich nur noch als Includepfad habe $(MY_LIB_PATH)/include. Finde ich was schöner und man ist unabhängiger von den Pfaden, sprich es ist leichter protierbar zu deinem Kollegen...
-
Ich habe nun 3x C:\Program Files\boost\boost_1_51 angegeben, jeweils bei Include/Bibliotheks/Quell-verzeichnissen und bekomme diese Fehlermeldung:
1>LINK : fatal error LNK1104: Datei "libboost_system-vc100-mt-gd-1_51.lib" kann nicht geöffnet werden.
Das ist der Code derzeit:
#include <iostream> #include <boost/asio.hpp> #include <boost/date_time/posix_time/posix_time.hpp> int main() { boost::asio::io_service io; boost::asio::deadline_timer t(io, boost::posix_time::seconds(5)); t.wait(); std::cout << "Hello, world!\n"; return 0; }
-
ja, dann fehlen dir die Bibliotheken. Schau dazu doch mal auf der Boost Website nach, da stehen HowTo's und Tutorials wie man das einrichtet und auch selbst kompiliert.