MinGW ld: cannot find *



  • Hallo. Ich wollte gerade einfach nur mit einer frischen MinGW32-Installation auf einem Windows XP-System ein paar Objektdateien zu einer Executable zusammen linken:

    ld main.o data.o -lstdc++
    

    Wobei egal ist, was ich nun an -l angebe, (auch mit absolutem Pfad) findet ld nichts. Seltsamerweise funktioniert aber:

    gcc main.o data.o -lstdc++
    

    Hat jemand eine Idee, wieso das so ist? Was macht gcc anders, als das ld, das es doch eigentlich nur aufruft?



  • Hallo,

    mit dem Parameter -v kann wird gcc im "verbose" Mode ausgeführt und es werden alle Programme, die gcc benutzt, mit entsprechenden Parametern ausgegeben. Probier mal so:

    gcc main.o data.o -v -lstdc++
    


  • Hm okay... da kommt einiges zusammen:

    Reading specs from C:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/specs Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
    Thread model: win32
    gcc version 3.4.5 (mingw-vista special r3)
     C:/Programme/MinGW/bin/../libexec/gcc/mingw32/3.4.5/collect2.exe -Bdynamic C:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../crt2.o C:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/crtbegin.o -LC:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5 -LC:/Programme/MinGW/bin/../lib/gcc -LC:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../mingw32/lib -LC:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../.. main.o -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32-lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt C:/Programme/MinGW/bin/../lib/gcc/mingw32/3.4.5 crtend.o
    

    Ich glaube, ich nehme einfach hin, dass es so funktioniert :). Danke für die Info.


Anmelden zum Antworten