Forum: PC-Programmierung C++: MinGW und Boost Bibliotheken


von Torben M. (tueller)


Lesenswert?

Hallo,

ich möchte die Boost Bibliotheken installieren. Dazu habe ich mir das 
Paket 1.52 runtergeladen.

Danach habe ich über die Comandozeile nacheinander folgendes ausgeführt.

C:\boost_1_52_0> bootstrap.bat mingw
Building Boost.Build engine
...
C:\boost_1_52_0> bjam toolset=gcc

hat auch funtioniert.

Zum testen habe ich mir folgendes Programm aus dem Netz kopiert.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
    std::string line;
    boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

    while (std::cin)
    {
        std::getline(std::cin, line);
        boost::smatch matches;
        if (boost::regex_match(line, matches, pat))
            std::cout << matches[2] << std::endl;
    }
}
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Beim compilieren über die Komandozeile und CodeBlock kann die regex.hpp 
nicht gefunden werden. Diese liegt aber im Boost Ordner

"C:\boost_1_52_0"

"C:\MinGW"

Warum wird die Datei nicht gefunden. Das ganze soll über Comandozeile 
und CodeBlocks funktionieren.

Danke für eure Hilfe


Tueller

von Rolf Magnus (Gast)


Lesenswert?

Torben Müller schrieb:
> Beim compilieren über die Komandozeile und CodeBlock kann die regex.hpp
> nicht gefunden werden. Diese liegt aber im Boost Ordner
>
> "C:\boost_1_52_0"

... den du dem Compiler auch angegeben hast?

von Torben M. (tueller)


Lesenswert?

Ich glaube nicht, bin davon ausgegangen das wenn die Compilierung mit 
MinGw erfolgt ist die Boost Dateien bekannt währen. Jetzt stellt sich 
für mich die Frage wie ich dem Compiller sage die Dateien liegen unter 
"C:\boost_1_52_0"
und zwar so dass das ganze auf Comandozeile und CodeBlocks läuft.
Habe schon gesucht aber nicht funtionierendes gefunden.

Tueller

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Mit der Option -I musst du dem Compiler den Pfad zu den Boost 
include-Dateien geben, und mit der Option -L den Pfad zu den 
Bibliotheken.

von Torben M. (tueller)


Lesenswert?

Hab es jetzt hinbekommen.
Danke für eure Tips

von re-entry (Gast)


Lesenswert?

Hallo,

ich bin gerade auch dabei zu verzweifeln. Vielleicht könnt ihr noch 
etwas konkreter werden? Habe boost 1.57 in c:\boost\boost_1_57_0 
kopiert. bjam in c:\programme\codeblocks\mingw\bin kopiert. (wegen des 
Suchpfades)

Ich habe "bjam --toolset=gcc --prefix=C:\boost install" ausgeführt. Der 
Rechner ist auch einige Zeit beschäftigt, bekommt aber eine ganze Reihe 
von skip und fail Meldungen. Bekomme einen include Ordner und einen 
leeren lib Ordner....

Muss ich nun gcc als Compiler angeben oder mingw? Wäre jemand so 
freundlich noch mal zu schreiben, WIE das bauen funktioniert?


allerbesten Dank!

von re-entry (Gast)


Lesenswert?

Ich würde gerne noch mal präzisieren: habe noch mal alles auf start 
gestellt, boost runtergeladen und mit bootstrap versucht bjam neu zu 
compilieren.

Das klappt schon nicht, ich bekomme den Fehler:

Building Boost.Build engine
Der Befehl "cl" ist entweder falsch geschrieben oder
konnte nciht gefunden werden.

Failed to build bjam

etc...


Ich bin jetzt wirklich irgendwie hilflos....

von Peter II (Gast)


Lesenswert?

re-entry schrieb:
> Der Befehl "cl" ist entweder falsch geschrieben oder
> konnte nciht gefunden werden.

cl deutet darauf in das du nicht MinGW sondern dem MS-Compiler verwenden 
willst.

von Oliver S. (oliverso)


Lesenswert?

re-entry schrieb:
> Ich bin jetzt wirklich irgendwie hilflos....

Brauchst du die kompilierten libs denn überhaupt?
Die allermeisten Funktionen der boost-lib sind doch header-only.

Oliver

von re-entry (Gast)


Lesenswert?

Ich möchte mir die serilization mal genauer angucken.

Ich habe einen MinGW gefunden der boost beinhaltet. Werde jetzt mal 
schauen, ob die libraries von dort funktinieren.
Ich bin aber enttäuscht, dass das erstellen einfach nicht funktioniert. 
Codeblocks und mingw ist häufig ein Problem bei libs scheint mir. Bei 
freeglut habe ich auch richtig Probleme gehabt. (das soll nicht 
ausschließen, dass mingw gar nichts dazu kann, sondern ich das Problem 
bin - trotzdem wäre die dau-freundlichere Alternative dann besser)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.