2016-03-21 8 views
0

Ich versuche, mit der Anjuta unter Linux zu arbeiten.Erhalten Erweiterung Beschreibung fromn dlerror()

Ich erstellte ein Projekt, das einige .a und .so-Bibliotheken hat, dann kompilierte es. Die Kompilierung ist erfolgreich verlaufen.

Da dlopen() die .so-Bibliotheken nur laden kann, wenn sie installiert sind, habe ich "make install" ausgeführt. Die Installation ist erfolgreich verlaufen.

Dann habe ich versucht, das Programm in Anjuta zu starten. Ich habe jedoch einen Fehler erhalten, dass eine der Bibliotheken nicht gefunden werden kann. Diese Nachricht stammt vom Aufruf dlerror().

Nur um sicherzustellen, habe ich "ls -la" auf "/ usr/local/lib" und die Bibliothek ist da. Ich vermute jedoch, dass eine Abhängigkeit von einer anderen .so-Bibliothek besteht, die fehlt.

So sind meine Fragen:

  1. Ist mein Verdacht richtig?
  2. Wenn es ist - wäre es angemessener, sinnvollere Nachricht zu geben? (Dies ist eigentlich eine rhetorische Frage)
  3. Gibt es eine Möglichkeit zu finden, welche Bibliothek Abhängigkeit ich fehlt, wenn die 1 richtig ist?

Vielen Dank im Voraus.

Antwort

0

Ist mein Verdacht richtig?

Möglicherweise.

Wenn es ist - wäre es angemessener, eine aussagekräftigere Nachricht zu geben? (Dies ist eigentlich eine rhetorische Frage)

Nein, es wäre nicht angemessen, Ihnen irgendeine Nachricht zu geben, die Sie nicht gefragt haben. Es ist Ihr Job, eine solche Nachricht zu erhalten, indem Sie dlerror aufrufen.

Gibt es eine Möglichkeit zu finden, welche Bibliothek Abhängigkeit ich fehlt, wenn die 1 korrekt ist?

Ja: Überprüfen Sie das Ergebnis des Aufrufs dlerror, wenn dlopen fehlschlägt.

Unter Linux kann die Einstellung LD_DEBUG=libs in der Umgebung auch Hinweise geben.