gcc unter Mac OS X: how to link mit MacPorts installierten Bibliotheken?
Habe ich installiert gcc 4.6 mit macports. Das Präfix ist /opt/local
, und ich bekomme die erwartete include-Pfad:
#include "..." search starts here:
#include <...> search starts here:
/opt/local/include/gcc46/c++/
/opt/local/include/gcc46/c++//x86_64-apple-darwin10
/opt/local/include/gcc46/c++//backward
/opt/local/lib/gcc46/gcc/x86_64-apple-darwin10/4.6.1/include
/opt/local/include
/opt/local/lib/gcc46/gcc/x86_64-apple-darwin10/4.6.1/include-fixed
/usr/include
/System/Library/Frameworks
/Library/Frameworks End of search list.
Jedoch /opt/local/lib
scheint nicht in der library search path", also habe ich angeben müssen, die es mit -L/opt/local/lib
bei der Verwendung von g++ auf der Kommandozeile:
Library search paths:
/opt/local/lib/gcc46/gcc/x86_64-apple-darwin10/4.6.1
/opt/local/lib/gcc46
/usr/lib
/usr/local/lib
Framework search paths:
/Library/Frameworks/
/System/Library/Frameworks/
Dies ist ein problem für die anderen die mit macports installierten Bibliotheken. Gibt es eine einfache Möglichkeit zum hinzufügen von /opt/local/lib
den library-Suchpfad? Ich habe versucht Einstellung DYLD_LIBRARY_PATH
ohne Erfolg. Ich bin mit Mac OS X 10.6.8.
DYLD_LIBRARY_PATH
ist für dynamisches laden zur Laufzeit, nicht Kompilierung.InformationsquelleAutor juanchopanza | 2011-07-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
in Ihre ~/.Profil fügen Sie die folgende Zeile:
und führen
source ~/.profile
in das terminal zu laden Ihre profile.In dieser Art und Weise, die-L Schalter wird erkannt werden von gcc/g++ und verwendet automatisch.
die LIBRARY_PATH-variable sollte verwendet werden, ohne "-L"
InformationsquelleAutor Michael Xu
Hängt es ab, wenn Sie möchten, verknüpfen Sie Ihre ausführbare Datei dynamisch oder statisch gegen die Bibliothek. Unter OS X fügen Sie die Bibliotheken als Quelle/Objekt-Dateien wie dieses:
Der beste Weg ist die Verwendung eines build-Systems, zum Beispiel CMake (das installiert werden kann von macports). Und macht es sehr einfach zu finden, Bibliotheken, erstellen von Bibliotheken, die in einer Cross-Plattform Weg.
/opt/local/lib
in der gcc-library search path". Gcc-build in /opt/local, so würde ich erwarten, dass es int er Suchpfad ist es aber nicht.InformationsquelleAutor Jerry Jacobs