Вопрос

Я использую следующий код для тестирования библиотеки 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 

Библиотеки должны быть последними

Редактировать Честно говоря, я удивлен отсутствием ошибок ссылок. Я оставлю это на случай, если вы пропустили некоторую информацию в вопросе

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top