找到包位置的问题: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了
为什么你认为你必须删除一个安装另一个,特别是当你已经安装它?
在使用这些补充库方面有什么基础我不理解吗?
是。 foo
和foo-dev
可以共存。 如果您是开发人员,则可能需要同时安装两者。 foo-dev
经常依赖于foo
,所以安装它也会强制安装foo
。 特别是, libsdl2-image-dev
依赖于 libsdl2-image-2.0-0
。
最后,只需安装-dev
包:
sudo apt-get install libsdl2-image-dev