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?
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