Question
Je suis en utilisant le code suivant à la bibliothèque RE2 de google test
int main()
{
int r = RE2::FullMatch("hello", "h.*o");
cout <<" match = " << r << endl;
return 0;
}
Je compling en utilisant la commande suivante -
g++ -lre2 -o retest retest.cc
Il compile très bien, mais quand je suis en train de courir avec retest ./retest son lancer l'erreur suivante -
error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory
J'ai vérifié et bibliothèque libre2.so.0 existe au répertoire utilisateur / local / lib et RE2 / obj / so répertoire. Alors pourquoi cette erreur vient je n'oublie quelques détails à ajouter?
La solution
Running sudo ldconfig
a fait l'affaire.
Autres conseils
Classique écueil:
g++ -o retest retest.cc -lre2
Les bibliothèques doivent être le dernier
Modifier pour être honnête, je suis surpris par l'absence d'erreurs de liaison. Je garderai autour dans le cas où vous avez manqué quelques informations dans la question