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...