Librarys mit Eclipse CDT (GCC) einbinden



  • Hi,

    ich benutze Ubuntu 11.10 mit Eclipse CDT und dem GCC Compiler und versuche ein paar Libraries einzubinden.

    Ich habe in den Eigenschaften des Projekts den library_path auf den Ordner gesetzt, in dem sich die Libs befinden. Dann habe ich bei den Libraries die zwei Libs von denen ich dachte sie werden gebraucht angegeben. Das scheint auch zu funktionieren. Das Problem ist, dass diese Libs noch andere Libs benötigen die ebenfalls im selben Ordner sind und die kann er nicht finden:

    g++ -L/usr/local/MATLAB/R2012a/bin/glnx86 -o "matlab_test"  ./src/engdemo.o   -leng -lmx
    /usr/bin/ld: warning: libut.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libeng.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libmat.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libeng.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libmwresource_core.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libmwi18n.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libmwfl.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libmwMATLAB_res.so, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libboost_date_time.so.1.44.0, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libboost_system.so.1.44.0, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    /usr/bin/ld: warning: libboost_thread.so.1.44.0, needed by /usr/local/MATLAB/R2012a/bin/glnx86/libmx.so, not found (try using -rpath or -rpath-link)
    

    Wie kann ich denn allgemein einfach angeben, dass er alle Libs aus dem Ordner benutzt?

    mfg, Mike.

    PS: Was ist eigentlich der Unterschied zwischen einem Makefile-Projekt und einem Executable-Projekt? Ruft bei letzterem Matlab den Compiler für jede Funktion auf und beim ersten erstellt er ein Makefile und ruft quasi das auf? Ist nicht ersteres dann immer "besser"? Wann empfiehlt es sich denn welche Projektart zu nehmen? Oder muss man beim Makefile-Projekt das Makefile selbst pflegen und Änderungen in den Properties bei den Includes usw wirken sich nicht auf das Makefile aus?


Anmelden zum Antworten