如何在ubuntu上安装OpenGl和SDL2库

如何在ubuntu上安装OpenGl和SDL2库

我正在尝试构建 Cube2 Sauerbraten,但我需要 OpenGL 和 SDL2 库来运行 makefile。 (我在这里使用 ubuntu)我尝试运行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:~$

我应该用 makefile 替换 main.cpp 吗?

我只是个傻瓜,还是这里有问题?安装软件包后,我尝试去dorectorory~/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-devlibsdl-image1.2-dev(在 Debian 系统上,实际版本可能有所不同。您似乎有 2 版本)。

相关内容