链接到 SDL2 时出现 ld 错误

链接到 SDL2 时出现 ld 错误

我正在努力尝试使用 SDL2 编译 c++。我一如既往地这样做:

  1. 检查代码(来自 mercurial 和 libsdl.org)
  2. ./配置,制作,sudo make install

但它一直说:

/usr/bin/ld: error: cannot find -lSDL2

我需要快速开始处理我的源代码,在 13.04 和 13.10 上,这些操作总是能让我找到可用的库。现在回到 12.04,发生了一些奇怪的事情。此外,make install 说明说:

Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR' 
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
 during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
 during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'

有人可以详细说明一下这些说明吗,因为我似乎不明白?

回显两个变量表明它们都是空的,而且我使用的是 64 位版本的 12.04(这一定很重要,因为在 13.04/13.10 上都没有任何问题)

答案1

第一次运行:

$ ./configure

然后创建一个目录并进入该目录:

$ md build && cd ./build

然后运行 ​​make:

$ ../make

最后,安装它:

$ sudo ../make install

答案2

你可能想安装 libsdl2-dev

sudo apt install libsdl2-dev

为了让你的构建工具找到要链接的库。

相关内容