web-dev-qa-db-ja.com

シンボル 'dlsym @@ GLIBC_2.4'への未定義の参照

まず、私はLinuxを初めて使用することを覚えておいてください。プロジェクトのコンパイルに問題があります。次のエラーが発生し続けます。

/usr/bin/ld:CMakeFiles/Robot.dir/source/ModuleHandler.cpp.o:シンボル 'dlsym @@ GLIBC_2.4'への未定義の参照//lib/arm-linux-gnueabihf/libdl.so.2:エラーシンボルの追加:コマンドラインcollect2にDSOがありません:ldが1つの終了ステータスを返しました

まず、正しいディレクトリは次のとおりです。/usr/lib/arm-linux-gnueabihf/libdl.soではなく://lib/arm-linux-gnueabihf/libdl.so

Ldconfig.confファイルを更新し、LD_LIBRARY_PATHを設定して、ldd -rを使用してみました。

CMAKEはmakeファイルの作成に使用されます。

以前はコンパイルに問題はありませんでした。 apt-getアップグレードを行ったとき、またはVSからのクロスコンパイルを試した後に開始されました。

任意の提案をいただければ幸いです!

//ネイサン

6
Nathan

一般に、見つからないシンボルのマニュアルページには、リンクする必要のあるライブラリが記載されています。あなたの場合:

http://linux.die.net/man/3/dlsym

次の行に注意してください。

-ldlとリンクします。

19
Andrew Henle