Compiler pour linux sous windows

Forum concernant ce jeu et les serveurs que j'héberge. (ce sous-forum remplace conseiljedi.com)
Post Reply
7heFøx
Posts: 2
Joined: Sun Sep 30, 2007 5:03 pm

Compiler pour linux sous windows

Post by 7heFøx »

Hey all.

Voilà en une semaine j'ai fait un ptit mod, mon premier enfait, avec mes propres armes, efx etc... et grâce au sdk de jka, la compilation dll marche parfaitement et c'est de loin l'problème, enfait je cherche à compiler en .so, cad pour linux ce qui me permetterait d'avoir un server dédié hebergé grâce à corran histoire de rien payer et d'pouvoir jouer sans lag (le dédié depuis l'pc c'est bien beau mais avec 200 d'ping quand y'a 3joueurs ><).

Donc en résumé, après avoir cherché un converter, un logiciel et essayé vmware pour compiler avec une console linux (qui est complètement foireux ><) j'ai pas trouvé de solution, on m'a donc conseillé de poster ici :o (j'ai pensé à chercher sur l'forum avant d'poster mais y'a pas c'que j'cherche :'o )
Image
ImageImage
Gamall
Hic sunt dracones
Posts: 4174
Joined: Fri May 26, 2006 11:09 pm
Contact:

Re: Compiler pour linux sous windows

Post by Gamall »

Salut et bienvenue :)

Pour compiler ton mod sous linux, il te faut

-> Un système Linux avec GCC. Le serveur de Corran fera parfaitement l'affaire (ssh powa), et c'est encore mieux que tu compiles sur le système où le mod tournera ; c'est comme ça que j'ai fait avec mes mods :) Tu ne peux PAS compiler de façon satisfaisante un exécutable linux sur un système windows (bien que l'inverse puisse être vraie avec mingw et wine)

-> Un makefile: je te propose celui que j'utilise pour Basejka security fix [légèrement modifié parce que j'ai des fichiers en plus]. Il provient d'un pack trouvé sur internet, j'ai laissé le nom de l'auteur en commentaire:

Code: Select all

# Linux Makefile for Jedi Academy MP SDK
# By Patrick Hemmer
# Version 2
# 
# Created Nov 29, 2003
# The Void - http://www.divoid.net
#
# You may set your own optimizations on the CFLAGS line. If you dont know what optimizations are, then just leave it as is.
# Run 'make' to compile the code, once done, you will have a file called 'jampgamei386.so' in the 'game' directory. Copy this file to the 'base' folder of your server or to your mod folder.
# If for some strange reason, you are running on less than a 586 processor, change the i586 to i386 on the CFLAGS line.

CC = gcc
CFLAGS = -I../cgame -I../ui -I../qcommon -I../server -I../icarus -I../ghoul2 -fPIC -DMISSIONPACK -DQAGAME -DQ3_VM -D_JK2MP -DFINAL_BUILD -DNDEBUG -march=i586 -O3
TARGET = jampgamei386.so

OFILES = AnimalNPC.o FighterNPC.o NPC.o NPC_AI_Atst.o NPC_AI_Default.o NPC_AI_Droid.o NPC_AI_GalakMech.o NPC_AI_Grenadier.o NPC_AI_Howler.o NPC_AI_ImperialProbe.o NPC_AI_Interrogator.o NPC_AI_Jedi.o NPC_AI_Mark1.o NPC_AI_Mark2.o NPC_AI_MineMonster.o NPC_AI_Rancor.o NPC_AI_Remote.o NPC_AI_Seeker.o NPC_AI_Sentry.o NPC_AI_Sniper.o NPC_AI_Stormtrooper.o NPC_AI_Utils.o NPC_AI_Wampa.o NPC_behavior.o NPC_combat.o NPC_goal.o NPC_misc.o NPC_move.o NPC_reactions.o NPC_senses.o NPC_sounds.o NPC_spawn.o NPC_stats.o NPC_utils.o SpeederNPC.o WalkerNPC.o ai_main.o ai_util.o ai_wpnav.o bg_g2_utils.o bg_misc.o bg_panimate.o bg_pmove.o bg_saber.o bg_saberLoad.o bg_saga.o bg_slidemove.o bg_vehicleLoad.o bg_weapons.o g_ICARUScb.o g_active.o g_arenas.o g_bot.o g_client.o g_cmds.o g_combat.o g_exphysics.o g_items.o g_log.o g_main.o g_mem.o g_misc.o g_missile.o g_mover.o g_nav.o g_navnew.o g_object.o g_saga.o g_session.o g_spawn.o g_strap.o g_svcmds.o g_syscalls.o g_target.o g_team.o g_timer.o g_trigger.o g_turret.o g_turret_G2.o g_utils.o g_vehicleTurret.o g_vehicles.o g_weapon.o q_math.o q_shared.o tri_coll_test.o w_force.o w_saber.o

$(TARGET): $(OFILES)
	$(CC) -shared -o $(TARGET) $(OFILES) -lm

.c.o:
	$(CC) $(CFLAGS) -c $*.c -o $*.o

clean:
	rm -f $(OFILES)
	rm -f $(TARGET)
-> Un code compatible avec MVC (win32) et GCC (linux). Si tu as utilisé le SDK de Raven directement, tu es un peu dans la mouise: Raven utilise ICC sous Linux (payant), et toi tu vas utiliser GCC. Le code du SDK ne passera PAS sous GCC. Il faudra le modifier en fonction des insultes du compilateur pour que ça passe. Peut-être qu'essayer avec le port Ming de GCC sous Windows te permettra de déblayer l'essentiel avant d'envoyer le tout sous Linux. Les #ifdef WIN32 seront tes amis en cas de coup dur avec les headers :)

-> De l'aspirine. Très très important :huhu

Voilà, bon courage :)
{<§ Gamall Wednesday Ida §>}
{ Mods and Programs - Mods TES-IV Oblivion }
User avatar
Quinlan
Détecteur Sismique
Posts: 52
Joined: Thu Jul 20, 2006 11:33 pm

Re: Compiler pour linux sous windows

Post by Quinlan »

A noter, la team ClanMod vient de poster une version corrigée du SDK. Je ne me suis pas penché dessus même si je l'ai récupéré mais vu que ClanMod a été créer avec ce SDK et vu qu'on a eu des soucis avec la GCC sur le serveur Red Hat d'ida lors de l'installation de ce mod, on peut espérer qu'il ont fait le sale boulot.

=>A confirmer

http://jediknight2.filefront.com/file/J ... ixed;83247
7heFøx
Posts: 2
Joined: Sun Sep 30, 2007 5:03 pm

Re: Compiler pour linux sous windows

Post by 7heFøx »

Merci beaucoup, j'vais m'contenter d'voir avec corran si i pourrait compiler avec icc pour commencer , puis si ça va pas j'recommencerais à partir du sdk corrigé, de toute façon si j'mode autre chose j'l'utiliserais maintenant. Réponse rapide et complète ça fait plaisir :).
Image
ImageImage
User avatar
Maikoru
Jedi Perpétuellement Affamé
Posts: 485
Joined: Sun Aug 27, 2006 11:15 pm

Re: Compiler pour linux sous windows

Post by Maikoru »

Salut TheFox ! :OO3
"..." -- Link
Gamall
Hic sunt dracones
Posts: 4174
Joined: Fri May 26, 2006 11:09 pm
Contact:

Re: Compiler pour linux sous windows

Post by Gamall »

7heFøx wrote:Merci beaucoup, j'vais m'contenter d'voir avec corran si i pourrait compiler avec icc pour commencer
Comme je l'ai mentionné, ICC est un produit payant. $449 pour la version de base, quand-même ;)

Sachant que GCC fait du très bon boulot et est open-source, donc $ 0, et déjà installé sur tout machine Linux :huhu
7heFøx wrote:puis si ça va pas j'recommencerais à partir du sdk corrigé
Des SDK "corrigés", il y en a plusieurs, à toi de chercher celui qui te convient le mieux sur le net.
edit: moi j'ai utilisé celui-ci -> http://www.lucasfiles.com/index.php?s=& ... ile&id=369 comme base. Ya deux trois manips à faire pour compiler sous MVC++8 avec, mais rien de méchant.

Dans tous les cas, le réflexe à avoir, c'est de compiler sous Windows et Linux AVANT de modifier quoi que ce soit. La loi de Murphy étant ce qu'elle est, ça ne compilera pas du premier coup, et une fois que tu auras débuggé, tu sauras au moins que tu travailles sur une base propre :langue


edit/PS: Le makefile que je t'ai donné ne marchera pas avec ICC de toutes façons :D Il faudra trouver le makefile original de Raven sur internet. Je sais qu'il y est.
{<§ Gamall Wednesday Ida §>}
{ Mods and Programs - Mods TES-IV Oblivion }
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 234 guests