gpt4 book ai didi

c - 搜索 -lSDL 时跳过 incompatible/libSDL.a

转载 作者:IT王子 更新时间:2023-10-29 00:31:57 25 4
gpt4 key购买 nike

我正在尝试在 IBM 机器上“制作”ioquake3。但是,我不断收到“搜索 -lSDL 时跳过不兼容的/libSDL.a”错误。我是 Linux 的终极初学者,但不是半途而废!我没有安装任何库的权限,我们的服务器管理员现在大约一周没有响应。所以,我现在一直在谷歌搜索/测试解决方案。如消息所述,系统上的库不兼容。所以,我去了 Ubuntu 站点,下载了 SDL PPC 库。我上传,解压到指定文件夹。但是,GCC 不知道这些库在哪里。所以,我找到了一个叫做“LD_LIBRARY_PATH="~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib"的东西 告诉 GCC 我的库在哪里。但是,每次我执行“制作”时,我的“导出”文件夹都不在列表中。

请帮助解决我不兼容的 SDL 库问题,即使采用不同的方式也是如此。

下面是输出:

<pre>rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7188]% echo $LD_LIBRARY_PATH
~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7189]% cd ~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib[7190]% ls
libSDL.a libSDL.la libSDL.so@ libSDLmain.a libopenal.a libopenal.so@ pkgconfig/
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/zzz/pkgs/usr/lib[7191]%</pre>

<pre>rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7174]% make
make[1]: Entering directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean&#39;

Building ioquake3 in build/release-linux-ppc64:
PLATFORM: linux
ARCH: ppc64
VERSION: 1.36
COMPILE_PLATFORM: linux
COMPILE_ARCH: ppc64
CC: cc

CFLAGS:
-MMD
-Wall
-fno-strict-aliasing
-Wimplicit
-Wstrict-prototypes
-pipe
-DUSE_ICON
-I/usr/include/SDL
-D_GNU_SOURCE=1
-D_REENTRANT
-DUSE_OPENAL
-DUSE_CURL
-maltivec
-Icode/SDL12/include
-m64
-DUSE_MUMBLE
-DUSE_VOIP
-DFLOATING_POINT
-DUSE_ALLOCA
-Icode/libspeex/include
-DUSE_LOCAL_HEADERS
-DPRODUCT_VERSION=&quot;1.36&quot;
-DNDEBUG
-O3
-ffast-math
-funroll-loops
-fomit-frame-pointer

LDFLAGS:

LIBS:
-ldl
-lm

Output:
build/release-linux-ppc64/ioq3ded.ppc64
build/release-linux-ppc64/ioquake3.ppc64
build/release-linux-ppc64/baseq3/cgameppc64.so
build/release-linux-ppc64/baseq3/qagameppc64.so
build/release-linux-ppc64/baseq3/uippc64.so
build/release-linux-ppc64/missionpack/cgameppc64.so
build/release-linux-ppc64/missionpack/qagameppc64.so
build/release-linux-ppc64/missionpack/uippc64.so

make[2]: Entering directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean&#39;
make[2]: `build/release-linux-ppc64/ioq3ded.ppc64&#39; is up to date.
LD build/release-linux-ppc64/ioquake3.ppc64
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.a when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.4.5/../../../libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/gcc/powerpc-linux-gnu/4.4.5/../../../libSDL.a when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.so when searching for -lSDL
/usr/bin/ld: skipping incompatible /usr/lib/libSDL.a when searching for -lSDL
/usr/bin/ld: cannot find -lSDL
collect2: ld returned 1 exit status
make[2]: *** [build/release-linux-ppc64/ioquake3.ppc64] Error 1
make[2]: Leaving directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean&#39;
make[1]: *** [targets] Error 2
make[1]: Leaving directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean&#39;
make: *** [release] Error 2
rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7175]% ls</pre>

最佳答案

LD_LIBRARY_PATH 确定运行时共享库​​的搜索路径。你想要的是说库在编译时的位置。您可以为此使用 LDFLAGS - 使用 -L 开关,您可以设置库的搜索路径:make LDFLAGS=-L/path/to/your/SDL.

可能是因为版本不兼容等原因,您从 Ubuntu 获取的 SDL 二进制文件可能仍然无法运行。在这种情况下,我建议您自己下载并构建 SDL。

关于c - 搜索 -lSDL 时跳过 incompatible/libSDL.a,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com