找到包位置的问题:libsdl2-image-2.0-0

最近我一直在玩SDL库,并希望开始使用libsdl2-image-2.0-0以及SDL。 我一直在尝试使用Ubuntu 15.04。 我已经安装了包

sudo apt-get install libsdl2-image-2.0-0 

安装似乎完全没问题,但是当我尝试将图像库包含在我的C ++代码中时

 #include  

我收到一个错误“致命错误:SDL2 / SDL_image.h:没有这样的文件或目录”我去看了SDL2基本库所在的位置/ usr / local / include / 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所以我可以安装libsdl2-image-2.0-0但是当我运行命令时

 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-dev,这样我就可以安装libsdl2-image-2.0-0了

为什么你认为你必须删除一个安装另一个,特别是当你已经安装它?

在使用这些补充库方面有什么基础我不理解吗?

是。 foofoo-dev可以共存。 如果您是开发人员,则可能需要同时安装两者。 foo-dev经常依赖于foo ,所以安装它也会强制安装foo 。 特别是, libsdl2-image-dev 依赖于 libsdl2-image-2.0-0


最后,只需安装-dev包:

 sudo apt-get install libsdl2-image-dev