我正在努力尝试使用 SDL2 编译 c++。我一如既往地这样做:
- 检查代码(来自 mercurial 和 libsdl.org)
- ./配置,制作,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
为了让你的构建工具找到要链接的库。