次のコマンドを使用して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
引数を提供するかを調べるだけです。