ignorer /libSDL.a incompatible lors de la recherche de -lSDL

J’essaie de “faire” ioquake3 sur la machine IBM. Mais, j’ai continué à obtenir l’erreur “ignorer incompatible /libSDL.a lors de la recherche de -lSDL”. Je suis toi le débutant ultime sous Linux, mais pas un lâcheur! Je n’ai aucun privilège pour installer des bibliothèques, et notre administrateur de serveur ne répond plus depuis environ une semaine. Donc, j’ai cherché / cherché sur Google pour trouver une solution. Comme le message le dit, la bibliothèque qui se trouve sur le système est incompatible. Alors, je suis allé sur le site Ubuntu et j’ai récemment téléchargé la bibliothèque SDL PPC. J’ai téléchargé, décompressé dans un dossier désigné. Cependant, GCC ne sait pas où se trouvent ces bibliothèques. J’ai donc trouvé quelque chose appelé “LD_LIBRARY_PATH =” ~ / minoru / cfe2 / yasirTemp / ioquake3dev / zzz / pkgs / usr / lib “pour indiquer à GCC où se trouvent mes bibliothèques. Cependant, chaque fois que je fais un” make “, je ne le fais pas. dossier “export” dans la liste.

S’il vous plaît, aidez, même de manière différente, juste pour résoudre mon problème de bibliothèque SDL incompatible.

ci-dessous est la sortie:

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]%
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' 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-ssortingct-aliasing -Wimplicit -Wssortingct-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="1.36" -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' make[2]: `build/release-linux-ppc64/ioq3ded.ppc64' 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' make[1]: *** [targets] Error 2 make[1]: Leaving directory `/r/home7/yasir/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean' make: *** [release] Error 2 rmc104:~/minoru/cfe2/yasirTemp/ioquake3dev/svfb_201110271440/ioquake3dev_clean[7175]% ls

LD_LIBRARY_PATH détermine le chemin de recherche des bibliothèques partagées au moment de l’exécution. Ce que vous voulez, c’est dire où se trouve la bibliothèque au moment de la compilation. Vous pouvez utiliser LDFLAGS à cet effet. Avec le commutateur -L , vous pouvez définir le chemin de recherche des bibliothèques: make LDFLAGS=-L/path/to/your/SDL .

Il se peut que le fichier binary SDL que vous avez récupéré auprès d’Ubuntu ne fonctionne toujours pas, en raison d’une version incompatible, etc.