質問

次のコードを使用してGoogleのRE2ライブラリをテストしています

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

私は次のコマンドを使用して不満を言っています -

g++ -lre2 -o retest retest.cc

それは正常にコンパイルされていますが、私が再テストを実行しようとしているとき、./tretestは次のエラーをスローします -

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

私はチェックし、libre2.0ライブラリはユーザー/ローカル/libディレクトリとre2/obj/soディレクトリに存在します。では、なぜこのエラーが来るのは、追加する詳細を忘れているのですか?

役に立ちましたか?

解決

ランニング sudo ldconfig トリックをしました。

他のヒント

古典的な落とし穴:

g++ -o retest retest.cc -lre2 

ライブラリは最後でなければなりません

編集 正直に言うと、リンクエラーがないことに驚いています。質問でいくつかの情報を見逃した場合に備えて、私はそれを保持します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top