Giter VIP home page Giter VIP logo

cube-conflict's Introduction

Logo of Cube Conflict

Cube Conflict

Join the battle in Cube Conflict, an FPS game where dumb smileys are locked in a never-ending war! Forked from Tesseract. Docs are here.

🎮 Play on Steam now!

🎯 Goal

The mission is to deliver a free, open-source, and exhilarating gaming experience while being able to run smoothly on low-end computers.

🕹 Current Content

  • More than 20 weapons, from the most rotten to the most buffed!
  • 15 character classes each with unique abilities.
  • 10+ in-game items including shields, boosts, and super-weapons.
  • 5 themed maps, from the moon with reduced gravity to the volcano and its molten lava.
  • 9 atmospheric settings for a dynamic outdoor experience.
  • 3 game modes: deathmatch, capture the flag, and domination, enhanced with mutators.
  • Survival solo game mode: surviving waves of dumb monsters.
  • 2 dedicated servers for uninterrupted gameplay.
  • Track your progress with achievements and player stats, saved locally and on Steam.
  • Loads of skins for character customization.

🚧 Roadmap for the First Release

  • 🟩🟩🟩🟩🟩 (Done!) Moving to OpenAL soft instead of SDL Mixer
  • 🟩🟩🟩⬛⬛ More maps!
  • 🟩🟩🟩⬛⬛ Simplified map editing with a dedicated GUI.
  • 🟩🟩🟩⬛⬛ Completion of the tutorial map.
  • 🟩🟩🟩🟩⬛ Seamless integration of stats and achievements with Steam.
  • 🟩🟩🟩🟩🟩 (Done!) Support for multiple language translations.

📅 Upcoming Features

  • Advanced tools enhancing e-sports with a seamless server management system.
  • Battle-royale game mode.
  • Single-player campaign mode with a quest system in a semi-open world.
  • Dynamic weather and day-night cycles.
  • Steam Workshop support.

🖥 Platforms

Cube Conflict is available on:

  • Windows
  • Linux (Please note: Linux updates will only occur at major releases or bug fixes. To access the latest version, it's recommended to build the binary manually, more info here

🤝 Contribute

We welcome all contributions!

📜 License

Refer to the licensing information.

cube-conflict's People

Contributors

big-onche avatar fabioog avatar loliconshik3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cube-conflict's Issues

Add survival mode for multiplayer

Solo survival mode is cool, so i think we need this mode in a multiplayer game (Idk, maybe you do it a long time ago, but i can't find it)

Add more docs

We absolutely need docs for understanding, how to balance heroes, add new heroes and weapons, etc...

Compatibilité Linux

Salut ! Ce serait possible d'ajouter la compatibilité pour Linux ? Je peux pas faire tourner le jeu avec Wine

BUUG portage sur linux

Bon alors ce code a la particularité de contenir un nombre apparemment inépuisable de bugs,
j'en ai résolu pas mal(voir ma "pull request"), mais à la fin du make, quand il semble que enfin la compilation est terminée, il me dit qu'il ne trouve pas les bibliothèques SDL2_image et SDL2_mixer qu'il cherche avec le -l.
Donc apparemment je n'ai pas ces bibiliothèques (ce qui m'intrigue), et même si j'essaie de compiler sans les bibliothèques ou que je les inclue en local dans la compilation ça ma sort plein de trucs indéfinis (qui sont sans rapport avec ces bibiliothèques) :

g++ -O3 -fomit-frame-pointer -ffast-math -Wall -fsigned-char -fno-exceptions -fno-rtti -o tess_client shared/crypto.o shared/geom.o shared/glemu.o shared/stream.o shared/tools.o shared/zip.o engine/aa.o engine/bih.o engine/blend.o engine/client.o engine/command.o engine/console.o engine/dynlight.o engine/grass.o engine/light.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/renderlights.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/sound.o engine/stain.o engine/texture.o engine/ui.o engine/water.o engine/world.o engine/worldio.o game/ai.o game/client.o game/entities.o game/game.o game/render.o game/scoreboard.o game/server.o game/waypoint.o game/weapon.o -Lenet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lz -lGL -lrt
/usr/bin/ld : ne peut trouver -lSDL2_image
/usr/bin/ld : ne peut trouver -lSDL2_mixer
collect2: error: ld returned 1 exit status
Makefile:195: recipe for target 'client' failed
make: *** [client] Error 1

=> Ça c'est la compilation faite par le makefile

g++ -O3 -fomit-frame-pointer -ffast-math -Wall -fsigned-char -fno-exceptions -fno-rtti -o tess_client shared/crypto.o shared/geom.o shared/glemu.o shared/stream.o shared/tools.o shared/zip.o engine/aa.o engine/bih.o engine/blend.o engine/client.o engine/command.o engine/console.o engine/dynlight.o engine/grass.o engine/light.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/renderlights.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/sound.o engine/stain.o engine/texture.o engine/ui.o engine/water.o engine/world.o engine/worldio.o game/ai.o game/client.o game/entities.o game/game.o game/render.o game/scoreboard.o game/server.o game/waypoint.o game/weapon.o -Lenet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs`  -lz -lGL -lrt
engine/texture.o : Dans la fonction « loadsurface(char const*) » :
texture.cpp:(.text+0x1346f) : référence indéfinie vers « IMG_LoadTyped_RW »
texture.cpp:(.text+0x134a3) : référence indéfinie vers « IMG_Load »
engine/main.o : Dans la fonction « quit() » :
main.cpp:(.text+0x7c5) : référence indéfinie vers « writesave() »
engine/movie.o : Dans la fonction « recorder::start(char const*, int, int, int, bool) » :
movie.cpp:(.text+0x1ee5) : référence indéfinie vers « Mix_SetPostMix »
engine/movie.o : Dans la fonction « recorder::stop() » :
movie.cpp:(.text+0x2a8e) : référence indéfinie vers « Mix_SetPostMix »
engine/movie.o : Dans la fonction « aviwriter::aviwriter(char const*, unsigned int, unsigned int, unsigned int, bool) » :
movie.cpp:(.text._ZN9aviwriterC2EPKcjjjb[_ZN9aviwriterC5EPKcjjjb]+0x226) : référence indéfinie vers « Mix_QuerySpec »
engine/rendergl.o : Dans la fonction « gl_drawhud() » :
rendergl.cpp:(.text+0xfa0d) : référence indéfinie vers « game::gameplayhud(int, int) »
engine/sound.o : Dans la fonction « var_soundvol(ident*) » :
sound.cpp:(.text+0x1f30) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « soundreset() » :
sound.cpp:(.text+0x2043) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « mapsoundreset() » :
sound.cpp:(.text+0x2113) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « syncchannel(soundchannel&) » :
sound.cpp:(.text+0x23a7) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x23bf) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x23d6) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « stopchannels() » :
sound.cpp:(.text+0x2420) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « stopmusic() » :
sound.cpp:(.text+0x2514) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x2520) : référence indéfinie vers « Mix_FreeMusic »
engine/sound.o : Dans la fonction « initsound() » :
sound.cpp:(.text+0x2617) : référence indéfinie vers « Mix_OpenAudio »
sound.cpp:(.text+0x2657) : référence indéfinie vers « Mix_AllocateChannels »
engine/sound.o : Dans la fonction « musicdone() » :
sound.cpp:(.text+0x268c) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x2698) : référence indéfinie vers « Mix_FreeMusic »
engine/sound.o : Dans la fonction « loadmusic(char const*) » :
sound.cpp:(.text+0x2755) : référence indéfinie vers « Mix_LoadMUSType_RW »
sound.cpp:(.text+0x27f7) : référence indéfinie vers « Mix_LoadMUS »
engine/sound.o : Dans la fonction « resetsound() » :
sound.cpp:(.text+0x293e) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x299e) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x2a03) : référence indéfinie vers « Mix_PlayMusic »
sound.cpp:(.text+0x2aae) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x2b0e) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x2b40) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x2b4c) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x2b70) : référence indéfinie vers « Mix_CloseAudio »
engine/sound.o : Dans la fonction « clear_sound() » :
sound.cpp:(.text+0x2c8b) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x2c97) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x2d0e) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x2d8e) : référence indéfinie vers « Mix_FreeChunk »
sound.cpp:(.text+0x2dd5) : référence indéfinie vers « Mix_CloseAudio »
engine/sound.o : Dans la fonction « stopmapsounds() » :
sound.cpp:(.text+0x2fe6) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « clearmapsounds() » :
sound.cpp:(.text+0x307e) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « stopmapsound(extentity*) » :
sound.cpp:(.text+0x3143) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « reclaimchannels() » :
sound.cpp:(.text+0x33f0) : référence indéfinie vers « Mix_Playing »
engine/sound.o : Dans la fonction « syncchannels() » :
sound.cpp:(.text+0x35c9) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x35e1) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x3656) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « stopsounds() » :
sound.cpp:(.text+0x3750) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « stopsound(int, int, int) » :
sound.cpp:(.text+0x386f) : référence indéfinie vers « Mix_FadeOutChannel »
sound.cpp:(.text+0x387f) : référence indéfinie vers « Mix_HaltChannel »
engine/sound.o : Dans la fonction « startmusic(char*, char*) [clone .part.17] » :
sound.cpp:(.text+0x3c1b) : référence indéfinie vers « Mix_PlayMusic »
sound.cpp:(.text+0x3c41) : référence indéfinie vers « Mix_VolumeMusic »
engine/sound.o : Dans la fonction « startmusic(char*, char*) » :
sound.cpp:(.text+0x3cff) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x3d0b) : référence indéfinie vers « Mix_FreeMusic »
engine/sound.o : Dans la fonction « musicmanager(int, bool) » :
sound.cpp:(.text+0x3e0f) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x3e1b) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x3f0b) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x3f17) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x3fe3) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x3fef) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x40d3) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x40df) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x41bb) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x41c7) : référence indéfinie vers « Mix_FreeMusic »
engine/sound.o : Dans la fonction « soundsample::load(char const*, bool) » :
sound.cpp:(.text+0x4336) : référence indéfinie vers « Mix_LoadWAV_RW »
sound.cpp:(.text+0x43a0) : référence indéfinie vers « Mix_LoadWAV_RW »
engine/sound.o : Dans la fonction « playsound(int, vec const*, extentity*, int, int, int, int, int, int) » :
sound.cpp:(.text+0x483c) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x48bc) : référence indéfinie vers « Mix_PlayChannelTimed »
sound.cpp:(.text+0x48d5) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x48f3) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x49e7) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x4a78) : référence indéfinie vers « Mix_Volume »
sound.cpp:(.text+0x4aa1) : référence indéfinie vers « Mix_FadeInChannelTimed »
sound.cpp:(.text+0x4abd) : référence indéfinie vers « Mix_PlayChannelTimed »
sound.cpp:(.text+0x4b28) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « _icmd_playsound<716>::run(int*) » :
sound.cpp:(.text+0x5775) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x57e1) : référence indéfinie vers « Mix_PlayChannelTimed »
sound.cpp:(.text+0x58a5) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x58c1) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x592a) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « checkmapsounds() » :
sound.cpp:(.text+0x5cc0) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x5d40) : référence indéfinie vers « Mix_PlayChannelTimed »
sound.cpp:(.text+0x5d59) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x5d73) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x5d91) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x5eb6) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « updatesounds() » :
sound.cpp:(.text+0x5f84) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x6004) : référence indéfinie vers « Mix_Playing »
sound.cpp:(.text+0x605f) : référence indéfinie vers « Mix_PlayingMusic »
sound.cpp:(.text+0x606c) : référence indéfinie vers « Mix_PausedMusic »
sound.cpp:(.text+0x624d) : référence indéfinie vers « Mix_HaltChannel »
sound.cpp:(.text+0x628b) : référence indéfinie vers « Mix_HaltMusic »
sound.cpp:(.text+0x6297) : référence indéfinie vers « Mix_FreeMusic »
sound.cpp:(.text+0x63a3) : référence indéfinie vers « Mix_FadingChannel »
sound.cpp:(.text+0x63bb) : référence indéfinie vers « Mix_SetPanning »
sound.cpp:(.text+0x63cb) : référence indéfinie vers « Mix_Volume »
engine/sound.o : Dans la fonction « var_musicvol(ident*) » :
sound.cpp:(.text+0x7e) : référence indéfinie vers « Mix_VolumeMusic »
engine/sound.o : Dans la fonction « var_soundvol(ident*) » :
sound.cpp:(.text+0x1f7a) : référence indéfinie vers « Mix_VolumeMusic »
sound.cpp:(.text+0x1fa6) : référence indéfinie vers « Mix_VolumeMusic »
engine/sound.o : Dans la fonction « setmusicvol(int) » :
sound.cpp:(.text+0x24a5) : référence indéfinie vers « Mix_VolumeMusic »
engine/sound.o : Dans la fonction « resetsound() » :
sound.cpp:(.text+0x2a2d) : référence indéfinie vers « Mix_VolumeMusic »
engine/sound.o : Dans la fonction « updatesounds() » :
sound.cpp:(.text+0x6083) : référence indéfinie vers « Mix_ResumeMusic »
engine/ui.o : Dans la fonction « UI::_icmd_uistat<3378>::run(float*, float*, unsigned int*) » :
ui.cpp:(.text+0xc9a7) : référence indéfinie vers « menustat(int) »
ui.cpp:(.text+0xca36) : référence indéfinie vers « menustat(int) »
game/ai.o : Dans la fonction « ai::update() » :
ai.cpp:(.text+0xc4f4) : référence indéfinie vers « game::aptitude_1(gameent*) »
ai.cpp:(.text+0xc525) : référence indéfinie vers « game::aptitude_3(gameent*) »
ai.cpp:(.text+0xc9e5) : référence indéfinie vers « game::aptitude_1(gameent*) »
game/ai.o : Dans la fonction « ai::think(gameent*, bool) » :
ai.cpp:(.text+0xcd80) : référence indéfinie vers « game::aptitude_1(gameent*) »
ai.cpp:(.text+0xce79) : référence indéfinie vers « game::aptitude_3(gameent*) »
ai.cpp:(.text+0xd05e) : référence indéfinie vers « game::aptitude_1(gameent*) »
ai.cpp:(.text+0xd2e5) : référence indéfinie vers « game::aptitude_1(gameent*) »
game/entities.o : Dans la fonction « entities::trypickup(int, gameent*) » :
entities.cpp:(.text+0x1d61) : référence indéfinie vers « addstat(int, int) »
entities.cpp:(.text+0x1d83) : référence indéfinie vers « addstat(int, int) »
entities.cpp:(.text+0x1dc3) : référence indéfinie vers « addstat(int, int) »
entities.cpp:(.text+0x1ddb) : référence indéfinie vers « addstat(int, int) »
game/game.o : Dans la fonction « game::otherplayers(int) » :
game.cpp:(.text+0x1b54) : référence indéfinie vers « game::updatespecials(gameent*) »
game/game.o : Dans la fonction « game::updateworld() » :
game.cpp:(.text+0x2529) : référence indéfinie vers « game::updatespecials(gameent*) »
game/game.o : Dans la fonction « game::killed(gameent*, gameent*) » :
game.cpp:(.text+0x448f) : référence indéfinie vers « addxp(int) »
game.cpp:(.text+0x449b) : référence indéfinie vers « addstat(int, int) »
game.cpp:(.text+0x44ae) : référence indéfinie vers « stat_killstreak »
game.cpp:(.text+0x44be) : référence indéfinie vers « addstat(int, int) »
game.cpp:(.text+0x44db) : référence indéfinie vers « addstat(int, int) »
game.cpp:(.text+0x47f9) : référence indéfinie vers « message3 »
game.cpp:(.text+0x4fa0) : référence indéfinie vers « message1 »
game.cpp:(.text+0x4fa6) : référence indéfinie vers « message2 »
game/game.o : Dans la fonction « game::selectcrosshair(vec&) » :
game.cpp:(.text+0x58ba) : référence indéfinie vers « game::drawmessages(int, char*, int, char*, int) »
game/render.o : Dans la fonction « game::drawhudmodel(gameent*, int, int) » :
render.cpp:(.text+0x1ccc) : référence indéfinie vers « regularflame(int, vec const&, float, float, int, int, float, float, float, int) »
game/render.o : Dans la fonction « game::rendergame() » :
render.cpp:(.text+0x4086) : référence indéfinie vers « regularflame(int, vec const&, float, float, int, int, float, float, float, int) »
collect2: error: ld returned 1 exit status

=> Ça c'est sans les bibliothèques, et exactement la même chose si j'entre cette commande :
g++ -O3 -fomit-frame-pointer -ffast-math -Wall -fsigned-char -fno-exceptions -fno-rtti -o tess_client ./include/SDL_image.h ./include/SDL_mixer.h shared/crypto.o shared/geom.o shared/glemu.o shared/stream.o shared/tools.o shared/zip.o engine/aa.o engine/bih.o engine/blend.o engine/client.o engine/command.o engine/console.o engine/dynlight.o engine/grass.o engine/light.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/renderlights.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/sound.o engine/stain.o engine/texture.o engine/ui.o engine/water.o engine/world.o engine/worldio.o game/ai.o game/client.o game/entities.o game/game.o game/render.o game/scoreboard.o game/server.o game/waypoint.o game/weapon.o -Lenet -lenet -L/usr/X11R6/lib -lX11 `sdl2-config --libs` -lz -lGL -lrt

Double définitions de certaines variables et fonctions de SDL

En esseyant de compiler sur linux, je vois que plein de variables et fonctions sont définies 2 fois, une fois par ma SDL installée et l'autre par la SDL locale du jeu.
Donc je vais dans le fichier src/shared/cube.h et je vois que si le define STANDALONE n'est pas vrai le fichier inclue ma SDL locale.
Je me dis bon d'accord je désactive cette partie du code (bizarre quand même que STANDALONE soit faux), et en fait SDL n'est pas inclue, alors il faut choisir, soit on inclue SDL dans le code soit en bibliothèque installée !!!
Bon entretemps je vais essayer de voir comment je peux plutôt inclure la SDL locale du jeu à la place de celle installée mais bon.

error: types conflictuels pour « socklen_t »

cc -O3 -fomit-frame-pointer -Iinclude    -c -o unix.o unix.c
unix.c:58:13: error: types conflictuels pour « socklen_t »
 typedef int socklen_t;
             ^~~~~~~~~
In file included from /usr/include/sys/socket.h:33,
                 from unix.c:8:
/usr/include/bits/socket.h:33:21: note: la déclaration précédente de « socklen_t » était ici
 typedef __socklen_t socklen_t;
                     ^~~~~~~~~
make[1]: *** [<commande interne>: unix.o] Error 1
make[1] : on quitte le répertoire « /home/thedevkiller/tmp/Cube-Conflict/src/enet »
make: *** [Makefile:219: enet/libenet.a] Error 2

How to compile this? (on Arch Linux)

There seem to be no compile instructions and I don't understand the French issue about this. Could you help in English with compiling this on Arch Linux please?

[arCABAL@nova src]$ make
make -C enet
make[1]: Entering directory '/home/arCABAL/Cube-Conflict/src/enet'
make[1]: execvp: ./check_cflags.sh: Permission denied
cc -O3 -fomit-frame-pointer -Iinclude    -c -o unix.o unix.c
unix.c:58:13: error: conflicting types for ‘socklen_t’
 typedef int socklen_t;
             ^~~~~~~~~
In file included from /usr/include/sys/socket.h:33,
                 from unix.c:8:
/usr/include/bits/socket.h:33:21: note: previous declaration of ‘socklen_t’ was here
 typedef __socklen_t socklen_t;
                     ^~~~~~~~~
make[1]: *** [<builtin>: unix.o] Error 1
make[1]: Leaving directory '/home/arCABAL/Cube-Conflict/src/enet'
make: *** [Makefile:219: enet/libenet.a] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.