우분투에 OpenGl 및 SDL2 라이브러리를 설치하는 방법

우분투에 OpenGl 및 SDL2 라이브러리를 설치하는 방법

Cube2 Sauerbraten을 빌드하려고 하는데 makefile을 실행하려면 OpenGL 및 SDL2 라이브러리가 필요합니다. (여기서는 우분투를 사용하고 있습니다) 실행을 시도한 sudo apt-get install --yes software-properties-common g++ make다음 sudo apt-get install --yes libsdl2-dev마침내 sudo apt-get install --yes freeglut3-dev컴파일을 시도했습니다 g++ main.cpp -I /usr/include/SDL2/ -lSDL2 -lGL.

나는 다음 명령을 받았습니다.https://gist.github.com/dirkk0/cad259e6a3965abb4178. 실행하면 처음 세 명령은 제대로 작동하지만 마지막 명령은 작동하지 않고 이 오류가 발생합니다.

optiplex780@super-OptiPlex-780:~$ g++ main.cpp -I /usr/include/SDL2/ -lSDL2  -lGL
cc1plus: fatal error: main.cpp: No such file or directory
compilation terminated.
optiplex780@super-OptiPlex-780:~$

main.cpp를 makefile로 바꿔야 하나요?

제가 바보인가요, 아니면 뭔가 문제가 있는 걸까요? 패키지를 설치한 후 박사과정에 가서 ~/sauerbraten/src실행하려고 하면 make install이러한 오류가 발생합니다.

optiplex780@super-OptiPlex-780:~/sauerbraten_2020_12_29_linux/sauerbraten/src$ make install
make    -C enet/ all
make[1]: Entering directory '/home/optiplex780/sauerbraten_2020_12_29_linux/sauerbraten/src/enet'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/optiplex780/sauerbraten_2020_12_29_linux/sauerbraten/src/enet'
g++ -O3 -fomit-frame-pointer -Wall -fsigned-char -o sauer_client shared/crypto.o shared/geom.o shared/stream.o shared/tools.o shared/zip.o engine/3dgui.o engine/bih.o engine/blend.o engine/blob.o engine/client.o engine/command.o engine/console.o engine/cubeloader.o engine/decal.o engine/dynlight.o engine/glare.o engine/grass.o engine/lightmap.o engine/main.o engine/material.o engine/menus.o engine/movie.o engine/normal.o engine/octa.o engine/octaedit.o engine/octarender.o engine/physics.o engine/pvs.o engine/rendergl.o engine/rendermodel.o engine/renderparticles.o engine/rendersky.o engine/rendertext.o engine/renderva.o engine/server.o engine/serverbrowser.o engine/shader.o engine/shadowmap.o engine/sound.o engine/texture.o engine/water.o engine/world.o engine/worldio.o fpsgame/ai.o fpsgame/client.o fpsgame/entities.o fpsgame/fps.o fpsgame/monster.o fpsgame/movable.o fpsgame/render.o fpsgame/scoreboard.o fpsgame/server.o fpsgame/waypoint.o fpsgame/weapon.o -Lenet/.libs -lenet -L/usr/X11R6/lib `sdl-config --libs` -lSDL_image -lSDL_mixer -lz -lGL -lrt
/bin/sh: 1: sdl-config: not found
/usr/bin/ld: cannot find -lSDL_image
/usr/bin/ld: cannot find -lSDL_mixer
collect2: error: ld returned 1 exit status
make: *** [Makefile:163: client] Error 1
optiplex780@super-OptiPlex-780:~/sauerbraten_2020_12_29_linux/sauerbraten/src$

답변1

프로그램에 파일이 많아 단일 파일로는 g++충분하지 않습니다. (매개변수 없음) 명령은 make일반적으로 Makefile에서 소프트웨어를 컴파일하는 올바른 방법입니다.

Makefile은 폴더에 있습니다. 실행하기 전에 입력해야 합니다 src( ). 완료되지 않은 경우 소프트웨어를 컴파일하고 설치하십시오.cd srcmakemake install

readme_source.txt 파일에 따르면 zlib를 사용하므로 이 zlib1g-dev패키지가 도움이 될 것입니다. 또한 libsdl-mixer1.2-dev( libsdl-image1.2-devDebian 시스템에서는 실제 버전이 다를 수 있습니다. 두 가지 버전이 있는 것으로 보입니다).

관련 정보