Boost::Filesystem - nichts funktioniert und hab kA warum



  • Man kann die bjam.exe auch fertig runter laden. Und eine Fehlerbeschreibung "tut sich garnichts" ist ja wohl lächerlich.



  • Ja Sorry aber wenn weder was da steht noch etwas erstellt wird und einfach nicht zu merken ist das überhaupt irgendwas gemacht wurde dann find ich "passiert einfach nichts" schon treffend.

    Ich habs jetzt tatsächlich geschafft diese bjam.exe runterzuladen. Unglaublich oder? Ich hoffe den Rest schaff ich ohne wieder nachfragen zu müssen.

    Nochmal vielen Dank für die Antworten!



  • Hallo,

    Auch wenns vielleicht nicht nötig ist, hier man ein Bespiel für einen bjam-Aufruf beim BCB6

    bjam "-sTOOLS=borland" "-sBUILD=debug release <runtime-link>static/dynamic" "-sBCCROOT=c:\Programme\Borland\CBuilder6" install



  • Danke. Den kann ich echt gut gebrauchen. Habs nämlich heut morgen nicht geschafft das ganze zu kompilieren. Hatte ich auch nicht anders erwartet. Diese Boost-Bibliothek macht mich noch total fertig.

    Gruß Alex



  • Naja, das Problem sitzt meistens vor dem Bildschirm. Glaube nicht, das Boost schuld ist. 😉



  • Nene, mir war schon klar das der Fehler mal wieder bei mir liegt 🙂



  • Es tut mir echt leid aber ich komm schon wieder net weiter 😞

    Das ganze kompiliert zwar aber bei vielen Dateien gibts nur Fehlermeldungen:

    Fehler E2401 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/iostreams/detail/is_iterator_range.hpp 20: Ungültige Template-Argumentliste
    Fehler E2303 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/iostreams/detail/is_iterator_range.hpp 20: Typname erwartet
    Fehler E2401 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/range/detail/common.hpp 82: Ungültige Template-Argumentliste
    Fehler E2040 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/range/detail/common.hpp 83: Deklaration nicht ordnungsgemäß abgeschlossen
    Fehler E2451 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/range/detail/common.hpp 86: Undefiniertes Symbol 'pair_t'
    Fehler E2228 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/range/detail/common.hpp 86: Zu viele Fehlermeldungen oder Warnungen
    *** 6 Fehler bei der Compilierung ***
    
    Fatal F1003 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/filesystem/config.hpp 23: error-Anweisung: Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
    *** 1 Fehler bei der Compilierung ***
    
    Fehler E2451 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/wave/util/flex_string.hpp 1171: Undefiniertes Symbol 'Storage' in Funktion position_policy<wave::util::file_position_type>::next_line(wave::util::file_position_type &)
    
    Fehler E2228 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/wave/cpplexer/cpp_lex_token.hpp 96: Zu viele Fehlermeldungen oder Warnungen
    *** 6 Fehler bei der Compilierung ***
    

    Das sind längst nicht alle. Habs mit der Zeile vom Braunstein versucht. Habs auch mit ein paar eigenen Ideen versucht aber immer dasselbe. Über ne Idee würde ich mich freuen.

    Gruß Alex



  • BCB 6 ist auch ein Uralt Compiler, da kanns schonmal zu fehlermeldungen kommen(afaik wird der bcb6 nicht mehr unterstützt)



  • Das wundert mich jetzt schon. Wenn man nämlich im Getting Startet auf www.boost.org auf Borland klickt steht da:
    Boost.Build's borland toolset supports the Borland C++Builder (BCC 5.5) compiler.

    Deswegen dachte ich fast eher das er zu neu ist. Dann sollte ich es vielleicht mal mit ner älteren Version von Boost versuchen.

    Und wie ist das eigentlich mit Boost.jam. Muss die Version von Jam zu dem Boost-Paket passen? Von den Versionsnummern passen sie ja net zusammen (boost 1.34 Beta und boost-jam 3.1.14)



  • Boost 1.34 ist doch noch garnicht veröffentlicht, nur als Beta und RC.
    Um so neuer der Compiler, um so besser. Die Borland-Compiler werden aber von den Boost-Contributers ungern unterstützt. Teilweise wurde schon diskutiert, ob man diese in Zukunft nicht ganz links liegen lässt. Warum? Weil die Borland-Compiler leider von den Mainstream-Compilern die unkonformsten bzgl. ISO-Norm sind. Wenn sich das in Zukunft nicht bessert (also Codegear mal ordentlich ran klotzt), wird es düster aussehen.

    Eine Frage noch: woher kommen die Meldungen? Benutzt du sie schon in eigenen Projekten? Oder sind die Meldungen alle erstmal vom Boost-Build???

    Warum du aber nicht die Fehlermeldungen abarbeitest, frage ich mich schon. Der hier z.B:

    Fatal F1003 C:\Dokumente und Einstellungen\Mr. Wolfenstein\Desktop\boost_1_33_1\boost/filesystem/config.hpp 23: error-Anweisung: Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead

    Mach doch einfach mal was da steht um das Problem zu beheben! Deutlicher kann eine Fehlermeldung nicht sein. Finde ich zumindest...



  • Jo, die 1.34 is ne Beta. Probiert habs ich aber mit der 1.33. Die Fehlermeldungen sind alle noch vom kompilieren. Die *.lib werden zwar erstellt aber beim Programmablauf stürzt das Programm sofort ab noch bevor die erste Zeile im Main-Programm erreicht wird.

    Das mit Static hab ich schon probiert. Habe als Option "-s" (Static link to runtime.) übergeben. Bin mir aber nicht sicher obs überhaupt die richtige ist. Kenne mich mit dem Compiler-Zeugs net aus und English ist auch net meine Stärke. Aber soweit ich das im Getting Started verstehe macht er doch sowieso Static. Sowas in der Art steht zumindest ganz unten.

    Werde mir das Getting Started heute Abend nochmal genau ankucken. Vielleicht find ich ja noch was.



  • Hallo,

    Also ich habe die boost 1.33.1 mit dem BCB6 (auch mit 5 und BDS2006) mit der bereits angegebenen Kommandozeile übersetzen können. Die config.hpp in filesystem sieht bei mir so aus

    /  boost/filesystem/config.hpp  ---------------------------------------------//
    
    //  © Copyright Beman Dawes 2003
    //  Use, modification, and distribution is subject to the Boost Software
    //  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
    //  http://www.boost.org/LICENSE_1_0.txt)
    
    //  See library home page at http://www.boost.org/libs/filesystem
    
    //----------------------------------------------------------------------------// 
    
    #ifndef BOOST_FILESYSTEM_CONFIG_HPP
    #define BOOST_FILESYSTEM_CONFIG_HPP
    
    // This header implements separate compilation features as described in
    // http://www.boost.org/more/separate_compilation.html
    
    #include <boost/config.hpp>
    
    //  enable dynamic linking on Windows  ---------------------------------------//
    
    #  if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && defined(__BORLANDC__) && defined(__WIN32__)
    #    error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead
    #  endif
    
    #ifdef BOOST_HAS_DECLSPEC // defined in config system
    // we need to import/export our code only if the user has specifically
    // asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
    // libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK
    // if they want just this one to be dynamically liked:
    #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
    // export if this is our own source, otherwise import:
    #ifdef BOOST_FILESYSTEM_SOURCE
    # define BOOST_FILESYSTEM_DECL __declspec(dllexport)
    #else
    # define BOOST_FILESYSTEM_DECL __declspec(dllimport)
    #endif  // BOOST_FILESYSTEM_SOURCE
    #endif  // DYN_LINK
    #endif  // BOOST_HAS_DECLSPEC
    //
    // if BOOST_FILESYSTEM_DECL isn't defined yet define it now:
    #ifndef BOOST_FILESYSTEM_DECL
    #define BOOST_FILESYSTEM_DECL
    #endif
    
    //  enable automatic library variant selection  ------------------------------// 
    
    #if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB)
    //
    // Set the name of our library, this will get undef'ed by auto_link.hpp
    // once it's done with it:
    //
    #define BOOST_LIB_NAME boost_filesystem
    //
    // If we're importing code from a dll, then tell auto_link.hpp about it:
    //
    #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
    #  define BOOST_DYN_LINK
    #endif
    //
    // And include the header that does the work:
    //
    #include <boost/config/auto_link.hpp>
    #endif  // auto-linking disabled
    
    #endif // BOOST_FILESYSTEM_CONFIG_HPP
    

    Ich weiß ehrlich gesagt nicht mehr genau ob ich da was geändert habe.


Anmelden zum Antworten