eclipse, CDT, MinGW -> Probs



  • Ich wollt ma eclipse ausprobieren, also runtergeladen, per updater CDT dazugeholt, MinGW war schon auf dem Rechner, und testweises Projekt erzeugt. Nach einigem Hin und Her mit den Kommados für die werkzeuge ging das dann auch, bis ich eine andere selbst geschriebene lib benutzen wollte.

    Unter project properties bei
    C++ Build
    Tool Settings
    GCC C++ Linker
    Libraries (-l)
    die entsprechende library eingetragen (mit "" wg leerzeichen im pfad, macht aber nix an der sache aus).

    Beim Bauen dann während des linken:
    [quote]
    'Building target: x.exe'
    'Invoking: GCC C++ Linker'
    C:\mingw\bin\mingw32-g++.exe -ox.exe ./x.o -l"C:\so ein pfad\libHans.a"
    C:\mingw\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lC:\so ein pfad\libHans.a
    collect2: ld returned 1 exit status
    [cpp]
    Problem scheint es zu mahcen, dass eclipse/CDT das ganze per -l macht. Mit diesem Parameter schaffe ich es auch selbst nicht, libs dazu zu linken. Noch besser wäre ein Library Pfad (-L), aber auch das funzt nicht (keine Fehlermeldungen, aber referenzen nicht aufgelöst --> Libs nicht eingebunden)

    Was muss ich beachten, wenn ich libs einbinden will?



  • -L"C:/so ein pfad" -lHans
    

    versucht oder

    -L"C:/so ein pfad" -llibHans.a
    

    ?

    Erstere ist richtig, zweitere falsch



  • n'Abend,
    ich habe das gleiche Problem wie piXelshooter und komme ebenso nicht auf eine Lösung. Der Vorschlag von darthdespotism führte auch nicht zum Erfolg.

    Im Verzeichnis F:\Entwicklung\hge18\lib\gcc liegt die Datei libhge.a
    Im Verzeichnis F:\Entwicklung\hge18 läßt sich die hge.dll finden.

    Meine Vorgehensweise bisher:
    Properties des Projects öfnnen. Dort im bei MinGW C++ Linker unter Libaries im Kasten "Libaries (-l)" hge hinzu fügen.
    Im Kasten Library search path (-L) "F:\Entwicklung\hge18\lib\gcc" angegeben.

    Das führte zu dem gleichen Fehler wie bei piXelshooter.
    Zusätzlich habe ich dann den Pfad "F:\Entwicklung\hge18\" angegeben.
    Dadurch erhalte ich den Fehler, dass die angegebene dll nicht gefunden werden kann.

    Ich hoffe, dass ihr mir helfen könnt. Ansonsten sehe ich meinen guten Vorsatz für dieses Jahr den Bach hinunter gehen. Welchen Gedankenfehler mache ich?



  • Libname: myxml
    Filename: libmyxml.dll oder libmyxml.so
    Path: D:\cpp-lib

    Dann gibst du -L den Path an und mit -l den Libname ein.

    @Verzweiflung
    Du braucht nur die DLL ode das A-File einzutragen



  • Sehr merkwürdig, habe das Ganze nochmals so gemacht wie am Anfang (also die das .a File) und plötzlich ging es. Habe wohl den Wald vor lauter Bäumen nicht gesehen und das zwei Tage lang nicht.

    auf jedenfall vielen Dank für die Hilfe


Anmelden zum Antworten