Clang linker sieht nicht in LD_LIBRARY_PATH

Ich versuche, zu bauen und zu verknüpfen C++, cmake-basierten Projekt mit clang (3.0). Dieses Projekt verbindet mehrere Bibliotheken installiert sind, in einem benutzerdefinierten Verzeichnis /mein/dir/. Dieses Verzeichnis ist in der LD_LIBRARY_PATH und Umgebungsvariablen LIBRARY_PATH. Projekt erstellt und links fein mit g++.

Link-Befehl generiert und ausgeführt von cmake wie folgt aussieht:

/usr/bin/clang++ -O3 stuff.cpp.o -o stuff -rdynamic -lmylib

ld meckert dann mit der folgenden Meldung:

/usr/bin/ld: cannot find -lmylib

Link-Befehl oben läuft einwandfrei, wenn ich manuell hinzufügen -L/my/dir/. Gibt es eine Möglichkeit, den link ohne die Angabe der -L Flagge?

  • LD_LIBRARY_PATH ist für das laden von Bibliotheken beim Systemstart nicht für die Lösung link Abhängigkeiten. Vielleicht möchten Sie verwenden LDFLAGS?
  • Interessant. Ich verwende g++ und clang++ austauschbar mit CMake, aber hatte nie ein ähnliches problem. Ich benutze einfach die link_directories() makro zu definieren, die Bibliothek Weg.
InformationsquelleAutor Régis B. | 2012-09-25
Schreibe einen Kommentar