[gelöst][boost]locale compilieren?



  • Hallo,

    gibt es einen Trick um die boost::locale mit icu zu compilieren? Ich benutze VisualStudio und beim Aufruf von 'bjam' wird angezeigt '... icu : no'
    mein Aufruf:

    im boost Hauptverzeichnis bzw. auch im 'locale' Unterverzeichnis:

    bjam --with-locale -sICU_PATH=g:\source\icu -sICU_LINK=g:\source\icu\lib stage

    Vielen Dank im voraus.


  • Administrator



  • Wieder einer der 'RTFM'-Jünger! 😉 Was meinst Du denn woher ich die Option '-sICU_PATH' habe? Aus dem Kaffesatz? Naja, egal hier ist mal meine komplette Befehlszeile und die Ausgabe von 'bjam' dazu:

    E:\sources\boost>bjam boost.locale.winapi=off boost.locale.std=off boost.locale.
    icu=on boost.locale.iconv=off boost.locale.posix=off -sICU_PATH=g:\source\icu -s
    ICU_LINK=g:\source\icu\lib --with-locale stage
    Performing configuration checks
    
        - icu                      : no
        - icu (lib64)              : no
    
    Component configuration:
    
        - chrono                   : not building
        - date_time                : not building
        - exception                : not building
        - filesystem               : not building
        - graph                    : not building
        - graph_parallel           : not building
        - iostreams                : not building
        - locale                   : building
        - math                     : not building
        - mpi                      : not building
        - program_options          : not building
        - python                   : not building
        - random                   : not building
       ...
    

    Schon Irgendie seltsam. Aber egal, ich habe momentan keine Zeit mehr zum
    Probieren.

    Schönen Sonntag.

    leftshift


  • Administrator

    Ups, da habe ich wohl nicht genau genug gelesen.

    Hast du die Binaries direkt von der ICU Seite runtergeladen? Dann könnte es nämlich daran liegen. Um sie mit Boost.Locale verwenden zu können, musst du die ICU Bibliothek selber bauen, damit auch die Debug-Libraries erstellt werden. Denn nach diesen sucht bjam ebenfalls und wenn sie nicht vorhanden sind, erkennt er die ICU Bibliothek nicht.

    Zumindest funktioniert es so bei mir (MSVC 2010). Das Gleiche Problem hat man mit Boost.Reqex.

    Grüssli



  • Hallo,

    ja das war es. Ich hatte von ICU nur die Releaseversionen. Ist aber von der Boost-Seite schlecht gelöst. Sollte wenigstens ein Hinweis kommen, daß ihm was fehlt.
    Hier ist mal meine Befehlszeile zum Erstellen der DLL-Version:

    bjam boost.locale.winapi=off --with-locale -sICU_PATH=g:\source\icu link=shared stage
    

    Schönen Tag noch.

    leftshift


Anmelden zum Antworten