dan*_*oid 5 c linux installation dependencies
在 Linux 上安装 c 库的一般方法是什么?
特别是,我想安装这个库,目的是编译这个:
#include <SDL_image.h> // it errs that it does not recognize this
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
我尝试过的:
/etc/usr/clibs/etc/ld.so.conf=> 失败。仍然无法编译我的文件。
我从这里安装了 rpm
=> FAILED,仍然无法编译
我尝试从源代码构建:运行时configure,它说:
checking for sdl-config... no
checking for SDL - version >= 1.2.10... no
*** The sdl-config script installed by SDL could not be found
*** If SDL was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the SDL_CONFIG environment variable to the
*** full path to sdl-config.
Run Code Online (Sandbox Code Playgroud)
我不明白,它需要一个安装脚本,它的存在是安装的结果......
我不知道该尝试什么了......我花了很多时间试图解决这个问题,所以如果有人可以给我一个解决方案来做这个和那个,那就太好了。对一般问题的回答将是一个很大的好处。
谢谢。
在大多数 Linux 发行版中,SDL 库都有可用的准备包。在 Debian 和 Ubuntu 上,您可以简单地sudo apt-get install libsdl-image1.2-dev. 在 Red Hat、Fedora 和 CentOS 中,您可以执行sudo yum install SDL_image-devel.
您可以使用sdl-config. 该configure脚本是用于发现正确标志的“自动化”工具,但它非常复杂。如果您以前没有使用过 C 库,那不是很明显。该-I标志将一个目录添加到#include指令的搜索路径中。该-L标志将一个目录添加到库的搜索路径中,并-l尝试将一个库添加到程序中。编译 C 分两步进行,编译和链接。编译只看头文件(.h文件),只关心-I指令;它输出目标代码(.o文件)。链接只关心-L和-l选项并尝试解析目标代码中的符号。通常情况下,库住在/lib和/usr/lib和标题位于/usr/include. 然而,头文件通常被分成单独的子目录,因此需要更具体的-I指令。一些程序开始包含foo-config包含针对库进行编译的正确指令的程序。pkg-config是许多库使用的通用版本,尤其是与 GNOME 相关的库。
这与其他语言完全不同,其他语言通常 a) 仅使用库的源代码(例如,PERL、Python)或 b) 具有包含编译所需的所有信息的可执行格式(例如,Java、C#)。