Frage

Ich entwickle eine Qt-Anwendung in Linux mit Qt Creator (2.1 RC). Ich habe 2 Projekte erstellt und verwendet, um die Assistenten, um das Bibliotheksprojekt zur Anwendung Projekt hinzuzufügen. Allerdings, wenn ich es laufen, erhalte ich die Fehlermeldung:

/home/jakepetroules/silverlock/silverlock-build-desktop/desktop/silverlock: error while loading shared libraries: libsilverlocklib.so.1: cannot open shared object file: No such file or directory

Gibt es eine Qmake Variable I festgelegt, so dass Qt Creator die Umgebung einrichten richtig zu laufen? Es ist ziemlich ärgerlich, haben alle Dateien mit einem Startskript in ein anderes Verzeichnis kopieren nur in der Lage zu sein, den Build zu testen. Unter Windows funktioniert es perfekt - automatisch Qt Creator die Verzeichnisse mit den DLLs auf dem PATH hinzufügt, wenn es Ihre Anwendung ausgeführt wird (wo es von Explorer ausgeführt würde sagen DLL nicht gefunden). Mac OS X ist noch schlimmer, mit install_name_tool auf alles laufen ...

Wie kann ich meine Qmake Dateien so einrichten, alles richtig aus dem Run-Button in Qt Creator funktioniert? Art schwer zu debuggen, ohne diese Fähigkeit auch.

War es hilfreich?

Lösung

Ja, Schöpfer hat einen Abschnitt, wo Sie was Umgebung, die Sie benötigen für den Betrieb Ihrer Anwendung einstellen können.

Auf Creator 2.0.0 wird dies erreicht durch: Projekte -> Ziele -> (Ihr Ziel) -> Ausführen -> Ausführen Environment (nachdem Sie geöffnet Ihr Projekt)

Sie können dann hinzufügen oder Umgebungsvariablen entfernen Sie möchten, einschließlich LD_LIBRARY_PATH Eine Sache, ich bin nicht sicher, wenn es möglich ist, beispielsweise zu ersetzen der Build-Pfad in den Wert dieser Variablen, so dass Sie nicht zu hard haben, dass in Ihrem LD_LIBRARY_PATH.

Ein andere Möglichkeit wäre, einen kleinen Shell-Skript zu Ihrem Quellbaum hinzuzufügen, die Sätze, was Variablen notwendig sind, und fügen Sie eine „Custom ausführbare“ run-Konfiguration das Skript auszuführen. Das ist durch den gleichen Bildschirm abgerufen.

Andere Tipps

Ich habe auf meinem Linux-Rechner ein ähnliches Problem laufen qt Anwendungen mit QtCreator hatte. Ich habe es durch Zugabe von folgenden Zeilen in den .proDatei der Client-Anwendung gelöst:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib

unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
  QMAKE_LFLAGS_RPATH=
}

Informationen über rpath ist hier: rpath

hoffe, das hilft, Grüße

Gerade dies mit:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib
unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
}

Es ist sloved mein Problem auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top