Frage

Ich verwende den folgenden Code, um die RE2 -Bibliothek von Google zu testen

int main()
{
  int r = RE2::FullMatch("hello", "h.*o");
  cout <<" match = " << r << endl;
  return 0;
}

Ich werde mit dem folgenden Befehl unterbinden -

g++ -lre2 -o retest retest.cc

Es kompiliert es gut, aber wenn ich versuche, erneut zu testen.

error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory

Ich habe überprüft und libre2.so.0 Library existiert im Benutzer/Lokal/LIB -Verzeichnis und RE2/OBJ/SO -Verzeichnis. Warum wird dieser Fehler kommen? Vergessen Sie einige Details, die ich hinzufügen kann?

War es hilfreich?

Lösung

Betrieb sudo ldconfig tat den Trick.

Andere Tipps

Klassische Fallstrick:

g++ -o retest retest.cc -lre2 

Die Bibliotheken sollten zuletzt sein

Bearbeiten Um ehrlich zu sein, bin ich überrascht über das Fehlen von Linkfehlern. Ich werde es behalten, falls Sie einige Informationen in der Frage verpasst haben

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