最近、私はSDLライブラリをいじくり回しており、SDLとともにlibsdl2-image-2.0-0の使用を開始したいと考えていました。私はこれをUbuntu 15.04で動作させようとしています。を使用してパッケージをインストールしました
Sudo apt-get install libsdl2-image-2.0-0
インストールは完全にうまくいくように見えましたが、C++コードにイメージライブラリを含めようとすると
#include <SDL2/SDL_image.h>
「致命的なエラー:SDL2/SDL_image.h:そのようなファイルまたはディレクトリはありません」というエラーが表示されました。いない。次に、ライブラリが使用している場所を把握しようとしました
apt-file search SDL_image.h
これをするとき
libsdl-image1.2-dev: /usr/include/SDL/SDL_image.h
libsdl2-image-dev: /usr/include/SDL2/SDL_image.h
両方が結果として表示されます。 libsdl2-image-devをインストールしなかったので、これは私にとって奇妙です。また、/ usr/include/SDL2 /を表示しようとすると、フォルダーが存在しないように見えるだけで、混乱を招くだけです。
次に、libsdl2-image-dev-0をインストールできるようにlibsdl2-image-devを削除しようとしましたが、コマンドを実行すると
Sudo apt-get remove libsdl2-image-dev
私は得る
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'libsdl2-image-dev' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
そして、私がコマンドを実行しようとすると
Sudo apt-get install libsdl2-2.0-0
私は最終的に
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsdl2-2.0-0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.
そのため、基本的にこのライブラリの場所を特定できず、コードに適切にリンクできません。このライブラリの場所を特定するより信頼性の高い方法はありますか?これらの補助ライブラリの使用に関して理解していない基本的なものはありますか?
Libsdl2-image-devをインストールしなかったので、これは私にとって奇妙です。また、/ usr/include/SDL2 /を表示しようとすると、フォルダーが存在しないように見えるだけで、混乱を招くだけです。
apt-file
は、データベースを使用して利用可能なパッケージのコンテンツを検索するため、インストールしていないパッケージが表示されたことは驚くことではありません。
次に、libsdl2-image-2.0-0をインストールできるようにlibsdl2-image-devを削除しようとしました
特に、すでにインストールしている場合、なぜ一方を削除して他方をインストールする必要があると思いますか?
これらの補助ライブラリの使用に関して、私が理解していない基本的なものはありますか?
はい。 foo
とfoo-dev
は共存できます。開発者の場合、おそらく両方をインストールする必要があります。 foo-dev
はfoo
に依存することが多いため、インストールするとfoo
も強制的にインストールされます。特に、libsdl2-image-dev
依存libsdl2-image-2.0-0
。
最後に、-dev
パッケージをインストールするだけです:
Sudo apt-get install libsdl2-image-dev