Linker linkt ungefragt mit dll!



  • Hallo zusammen!

    Also ich hab' mir die Boost-Library runtergeladen, v.a. weil ich an den regex interessiert war. Kompilieren und installieren ging eigentlich gut. Dann liess ich mal ein erstes Testprogramm auf die regex los. Dazu hab' ich dem Linker explizit die Datei C:/Boost/lib/boost_regex-mgw-1_31.lib angegeben.
    Dann krieg ich aber vom Linker folgende Meldung:
    Info D:\Eigene Dateien\C++ Programme\Regex-Test\Info
    resolving __ZN5boost9re_detail13c_traits_base10syntax_mapE by linking to __imp___ZN5boost9re_detail13c_traits_base10syntax_mapE (auto-import)

    Ähnliche Meldungen gibts noch für 2 weitere Parameter.
    Das Programm wird trotzdem ohne Murren kompiliert, nur wird nicht statisch gelinkt, sondern halt zur boost_regex-mgw-1_31.dll.
    Wenn ich dem Linker direkt sage, er soll die dll verwenden, dann gibts auch keine Meldungen mehr.
    Ich verwende die DevC++-IDE 4.9.8.5 mit dem MinGW-Compiler.

    Woran liegt das? Und wie kann ich das so ändern, dass ich auf die dll verzichten kann?

    Ach ja, nach dem compilieren der regex hab ich folgende Dateien erhalten:
    boost_regex-mgw-1_31
    boost_regex-mgw-d-1_31
    boost_regex-mgw-mt-1_31
    boost_regex-mgw-mt-d-1_31
    (alle jeweils als lib und als dll)

    und dazu noch diese Dateien:
    libboost_regex-mgw-1_31.lib
    libboost_regex-mgw-d-1_31.lib
    libboost_regex-mgw-mt-1_31.lib
    libboost_regex-mgw-mt-d-1_31.lib
    libboost_regex-mgw-s-1_31.lib
    libboost_regex-mgw-sd-1_31.lib
    libboost_regex-mgw-mt-s-1_31.lib
    libboost_regex-mgw-mt-sd-1_31.lib
    Wenn ich dem Linker eine von diesen 8 Dateien vorwerfe, dann gibts 'ne Riesenliste mit "undefined reference"'s, die er nicht auflösen kann...

    Vielleicht weiss einer von Euch Rat?

    Gruss, Andreas



  • Es gibt eine Option für den gcc, die sich -static nennt. Vielleicht hilft sie dir...


Anmelden zum Antworten