Вопрос
Я использую следующий код для тестирования библиотеки Google RE2
int main()
{
int r = RE2::FullMatch("hello", "h.*o");
cout <<" match = " << r << endl;
return 0;
}
Я использую следующую команду -
g++ -lre2 -o retest retest.cc
Он компилируется нормально, но когда я пытаюсь запустить повторный тест с ./retest, он бросает следующую ошибку -
error while loading shared libraries: libre2.so.0: cannot open shared object file: No such file or directory
Я проверил и Libre2.so.0 Библиотека существует в Directory User/Local/Lib и RE2/OBJ/SO Directory. Так почему же возникает эта ошибка, я забыл о некоторых деталях, чтобы добавить?
Решение
Бег sudo ldconfig
сделал трюк.
Другие советы
Классическая ловушка:
g++ -o retest retest.cc -lre2
Библиотеки должны быть последними
Редактировать Честно говоря, я удивлен отсутствием ошибок ссылок. Я оставлю это на случай, если вы пропустили некоторую информацию в вопросе
Не связан с StackOverflow