Boost mit MinGW unter Windows 7 kompilieren



  • Hi,
    Ja, der Link wäre sehr nett. Es würde mir aber auch reichen, wenn du mir sagst, wie ich die *.a Dateien verwende. Denn bei den *.a Dateien "sagte" mir g++ immer, es hätte die Dateien nicht gefunden. Danke für deine Antwort.



  • Hi,
    Ich kompiliere grade noch mal mit:

    cd /d %BOOST_ROOT%
    bootstrap mingw
    bjam --build-type=complete --toolset=gcc install
    

    Die *.a Dateien, welche ich für das obige Beispiel brauche, wurde schon generiert.
    Nun also mit

    SET BINDIR=D:/EigeneProgramme/BoostTest 
    CD /D "D:/EigeneProgramme/BoostTest"
    g++ main.cpp -I "%BOOST_ROOT%" -L "%BOOST_ROOT%\lib" -o example.exe -libboost_regex-mgw46-mt-1_52
    pause
    

    kompiliert und nun habe ich "wieder" den Fehler

    C:\Windows\system32>SET BINDIR=D:/EigeneProgramme/BoostTest
    
    C:\Windows\system32>CD /D "D:/EigeneProgramme/BoostTest"
    
    D:\EigeneProgramme\BoostTest>g++ main.cpp -I "C:\Boost" -L "C:\Boost\lib" -o exa
    mple.exe -libboost_regex-mgw46-mt-1_52
    c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot fin
    d -libboost_regex-mgw46-mt-1_52 
    collect2: ld returned 1 exit status
    
    D:\EigeneProgramme\BoostTest>pause
    Drücken Sie eine beliebige Taste . . .
    

    Der Ordnerinhalt von %BOOST_ROOT%\lib ist aber:

    C:\Boost\lib>dir
     Datenträger in Laufwerk C: ist Windows
     Volumeseriennummer: F657-48C2
    
     Verzeichnis von C:\Boost\lib
    
    02.12.2012  00:38    <DIR>          .
    02.12.2012  00:38    <DIR>          ..
    02.12.2012  00:36           126.028 libboost_chrono-mgw46-1_52.a
    02.12.2012  00:29           489.258 libboost_chrono-mgw46-d-1_52.a
    02.12.2012  00:23           126.028 libboost_chrono-mgw46-mt-1_52.a
    02.12.2012  00:36           140.548 libboost_date_time-mgw46-1_52.a
    02.12.2012  00:30           500.602 libboost_date_time-mgw46-d-1_52.a
    02.12.2012  00:23           140.548 libboost_date_time-mgw46-mt-1_52.a
    02.12.2012  00:36           217.154 libboost_filesystem-mgw46-1_52.a
    02.12.2012  00:30         1.116.986 libboost_filesystem-mgw46-d-1_52.a
    02.12.2012  00:23           217.154 libboost_filesystem-mgw46-mt-1_52.a
    02.12.2012  00:37         1.000.666 libboost_graph-mgw46-1_52.a
    02.12.2012  00:31         7.346.370 libboost_graph-mgw46-d-1_52.a
    02.12.2012  00:24         1.000.666 libboost_graph-mgw46-mt-1_52.a
    02.12.2012  00:37           150.912 libboost_iostreams-mgw46-1_52.a
    02.12.2012  00:31           456.682 libboost_iostreams-mgw46-d-1_52.a
    02.12.2012  00:24           150.912 libboost_iostreams-mgw46-mt-1_52.a
    02.12.2012  00:24         1.579.716 libboost_locale-mgw46-mt-1_52.a
    02.12.2012  00:33         4.419.902 libboost_math_c99-mgw46-d-1_52.a
    02.12.2012  00:26           873.042 libboost_math_c99-mgw46-mt-1_52.a
    02.12.2012  00:33         4.295.274 libboost_math_c99f-mgw46-d-1_52.a
    02.12.2012  00:27           757.402 libboost_math_c99f-mgw46-mt-1_52.a
    02.12.2012  00:33         4.191.018 libboost_math_c99l-mgw46-d-1_52.a
    02.12.2012  00:27           783.744 libboost_math_c99l-mgw46-mt-1_52.a
    02.12.2012  00:38         3.173.060 libboost_math_tr1-mgw46-1_52.a
    02.12.2012  00:31        13.864.144 libboost_math_tr1-mgw46-d-1_52.a
    02.12.2012  00:25         3.173.060 libboost_math_tr1-mgw46-mt-1_52.a
    02.12.2012  00:32        14.622.794 libboost_math_tr1f-mgw46-d-1_52.a
    02.12.2012  00:25         3.287.442 libboost_math_tr1f-mgw46-mt-1_52.a
    02.12.2012  00:32        13.634.168 libboost_math_tr1l-mgw46-d-1_52.a
    02.12.2012  00:26         3.218.958 libboost_math_tr1l-mgw46-mt-1_52.a
    02.12.2012  00:35           296.590 libboost_prg_exec_monitor-mgw46-d-1_52.a
    02.12.2012  00:28            36.390 libboost_prg_exec_monitor-mgw46-mt-1_52.a
    02.12.2012  00:33         6.827.580 libboost_program_options-mgw46-d-1_52.a
    02.12.2012  00:27         1.241.446 libboost_program_options-mgw46-mt-1_52.a
    02.12.2012  00:34            62.858 libboost_random-mgw46-d-1_52.a
    02.12.2012  00:27            10.088 libboost_random-mgw46-mt-1_52.a
    02.12.2012  00:37         1.555.338 libboost_regex-mgw46-1_52.a 
    02.12.2012  00:30         8.654.442 libboost_regex-mgw46-d-1_52.a
    02.12.2012  00:23         1.555.338 libboost_regex-mgw46-mt-1_52.a
    02.12.2012  00:34        11.126.790 libboost_serialization-mgw46-d-1_52.a
    02.12.2012  00:28         1.436.820 libboost_serialization-mgw46-mt-1_52.a
    02.12.2012  00:34         1.329.424 libboost_signals-mgw46-d-1_52.a
    02.12.2012  00:28           206.434 libboost_signals-mgw46-mt-1_52.a
    02.12.2012  00:36            21.538 libboost_system-mgw46-1_52.a
    02.12.2012  00:29            68.146 libboost_system-mgw46-d-1_52.a
    02.12.2012  00:23            21.538 libboost_system-mgw46-mt-1_52.a
    02.12.2012  00:29           283.032 libboost_thread-mgw46-mt-1_52.a
    02.12.2012  00:35           146.454 libboost_timer-mgw46-d-1_52.a
    02.12.2012  00:29            27.056 libboost_timer-mgw46-mt-1_52.a
    02.12.2012  00:35        11.069.326 libboost_unit_test_framework-mgw46-d-1_52.a
    02.12.2012  00:29         1.625.294 libboost_unit_test_framework-mgw46-mt-1_52.a
    
    02.12.2012  00:36        48.675.798 libboost_wave-mgw46-d-1_52.a
    02.12.2012  00:29         4.632.910 libboost_wave-mgw46-mt-1_52.a
    02.12.2012  00:34         8.144.190 libboost_wserialization-mgw46-d-1_52.a
    02.12.2012  00:28           988.036 libboost_wserialization-mgw46-mt-1_52.a
                  54 Datei(en),    195.097.094 Bytes
                   2 Verzeichnis(se), 17.589.477.376 Bytes frei
    

    Kurz: "libboost_regex-mgw46-mt-1_52" existiert 😕



  • Muss es nicht -llibboost_regex-mgw46-mt-1_52**.a** heißen?



  • DragonRaider schrieb:

    Hi,
    Ja, der Link wäre sehr nett. Es würde mir aber auch reichen, wenn du mir sagst, wie ich die *.a Dateien verwende. Denn bei den *.a Dateien "sagte" mir g++ immer, es hätte die Dateien nicht gefunden. Danke für deine Antwort.

    Hmm. Dann übergibst du wohl den Pfad falsch. Denn bei mir gibt es nur .a Dateien und das klappt wunderbar.
    Ich benutze übrigens eine IDE - CodeBlocks - die macht das übergeben für mich automatisch, deswegen kann ich nicht beurteilen ob deine Kommandozeilen-Parameter richtig sind...

    P.S.: Du brauchst den Link nicht. Die .a Dateien sind schon richtig.



  • Hi Leute,
    Danke für eure Hilfe. Ich mache das ganze jetzt mit CodeBlocks, welches ich sowieso schon installiert hatte, es aber bis jetzt nur zum schreiben des Quellcodes genutzt habe. Wenn ich mal wieder ein bisschen Zeit habe, mache ich dazu auch ein Youtube Video auf Deutsch(falls noch nicht vorhanden).



  • DragonRaider schrieb:

    (falls noch nicht vorhanden).

    Locker schon 😃



  • Hi Leute,
    Hab diesen Thread gerade noch mal raus gekramt 😉 Ich bin auf Windows 8 umgestiegen(Betriebssystem der Zukunft und so xD von wegen...) und da, mit der neuen CMD, bekomme/bekam ich(hab das schon vor einiger Zeit versucht) relativ komische Fehler (das er ganz normale CMD Befehle nicht gefunden hätte), und wollte deshalb hier nochmal nach dem Link fragen...??? Sorry schon mal, falls ich ihn bei Google übersehen hab 😉
    MfG
    DragonRaider





  • Für solche Dinge bitte immer einen neuen Thread eröffnen. Alte Threads "rausgraben" ist eine allgemein als Trollaktivität eingestufte Sache.



  • Sone schrieb:

    Für solche Dinge bitte immer einen neuen Thread eröffnen. Alte Threads "rausgraben" ist eine allgemein als Trollaktivität eingestufte Sache.

    In dem Fall ist es doch OK. Der Thread gehört ihm und ist noch keine Jahre alt.



  • out schrieb:

    In dem Fall ist es doch OK. Der Thread gehört ihm und ist noch keine Jahre alt.

    Du hast Recht. 🙂

    das er ganz normale CMD Befehle nicht gefunden hätte

    Ich denke, du hast die Umgebungsvariable PATH verändert. So mal ins Blaue geschossen.
    (Kann natürlich auch an Windows 8 liegen, davon habe ich keine Ahnung, vielleicht wurden einige Befehle ja umbenannt o.ä. . Aber ich hab mal auf einem frisch installiertem Windows 8 dxdiag und ipconfig ausprobiert, hat AFAIR funktioniert...



  • Hi Sone,
    An der PATH Variable sollte es nicht liegen, da ich mit der schon öfter Probleme hatte und sie jetzt fein säuberlich verwalte, außerdem lag es ja nicht daran, dass er z.B. g++ nicht gefunden hätte.
    Ich dachte mir nur so, dass vielleicht jemand zufälligerweise dieses Problem und auch die Lösung dazu kennt.
    Ich wollte hier auch niemanden trollen(langsam verstehe ich auch nicht mehr, was alle immer damit haben, das wird ja andauernd in den verschiedensten Zusammenhänge genutzt) oder so, ich war nur gerade dabei mir alle meine Threads + Beiträge anzugucken(falls ich vergessen haben sollte, Danke zu sagen oder so etwas).
    MfG
    DragonRaider



  • Hmm, wieso machst du dir das Leben nicht einfacher mit VS2011 Express oder VS2010 Express, und nimmst dann einen boost-Installer und alles geht leicht von der Hand. 🙂



  • Weil ich mit dem Visual Studio "Krams" einfach nicht zurecht komme 😉



  • DragonRaider schrieb:

    Weil ich mit dem Visual Studio "Krams" einfach nicht zurecht komme 😉

    z.B.?



  • Mit der ganzen IDE... Ich schaffe es noch nicht mal, ein Projekt richtig ein zu richten bzw. libs ein zu binden etc. Und was soll diese "stdafx.h"? Auch mag ich das Einrücken des Visual Studios nicht, ich bevorzuge

    if(statement)
      {
      doAnything();
      }
    

    vor(/zu)

    if(statement){
        doAnything();
        }
    

    und und und... Vielleicht habe ich mich auch einfach an Code::Blocks gewöhnt, wer weiß, aber mir persönlich gefällt Code::Blocks einfach besser.
    MfG
    DragonRaider


Anmelden zum Antworten