インストール後、共有オブジェクトはどこに移動し、その名前を見つけるか

インストール後、共有オブジェクトはどこに移動し、その名前を見つけるか

次のコマンドを使用してSFMLライブラリをインストールしました。apt-get install sfml-dev

/usr/libインストール後、実際の共有オブジェクトの名前が何であるかを調べるために、私のフォルダに移動しました(それで、コンパイラに何を使用するように指示するかを知りました)。

しかし、名前には「SFML」はありません。

ただし、/usr/include ディレクトリに SFML フォルダがあります。

もしそうなら、共有オブジェクトファイルが私のディレクトリにない場合は/usr/libどこにありますか?

コンパイラに何を使用するように指示するのかを調べるにはどうすればよいですか?

g++ *.cpp -o exe -l

答え1

gcc -print-search-dirs

コンパイラが使用するすべての検索パスを表示します。

dpkg -L libsfml-dev

実際のライブラリを見つけるには、パッケージによってインストールされたすべてのファイルを表示します。ただし、dpkg -L実際にはライブラリを含むパッケージで実行する必要があります(libsfml-devライブラリの依存関係が多い)。

とにかく、ライブラリは/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)現在 Debian 派生物によく見られます。つまり /usr/lib/x86_64-linux-gnu一般的な64ビットPCで。コンパイラについて心配する必要はありません。ただし、コンパイラはすでにライブラリを見つけることができる場所を知っています。どの-l引数を提供するかを調べるだけです。

関連情報