BLACKHOLE ET SON PB

  • Créateur du sujet Créateur du sujet Membre supprimé 2
  • Date de début Date de début
M

Membre supprimé 2

Invité
blackhole à un pb dans le forum developpement qui concerne la compilation d'un programme linux. Généralement je ne regarde pas trop ce forum car à part de l'applescript, y a pas souvent grand chose, mais là son pb est vraiment con et beaucoup ont des pb comme çà. En effet, son pb est tout con, c qu'il essaie de compiler de l'openGl et sous mac, l'inclusion n'est pas GL/fichier.h mais OpenGl/fichier.h si je me souviens bien. Et si vous utiliser les developper tools, il faut inclure la frameworks openGl sinon cela ne fonctionnera jamais.
Voilà, je me devait d'intervenir car quand je vois tout le monde qui a des pb de compilation sous mac, je me dit que c pas possible.
Je vous rappelle donc que compiler les sources que l'on n'a pas faites n'est pas si facile que celà. Lisez bien les fichiers et les inclusions ansi que les mots des devellopeurs. Il y en a qui croient qu'un compilateur suffit, mais sacher qu'il existe pleins de librairies auxiliaires qui ne sont pas avec les sources et qu'il faut dl pour les ajouter au compilo. J'en ai vu qui gueulait comme des porcs sur les Developper tools en disant que les develloper tools étaient à chier parce qu'il ne compilait pas ses src de prog multimédia et qu'il manquait pleins de truc. Cet idiot n'avait même pas installé les SDL et n'avait même pas lu le lisez moi comme quoi il fallait les dl.
Bref, ne croyer pas que la compilation de sources est chose aisée, si certaines ne demande rien comme compétence en programmation, sachez qu'à partir d'un certains niveau du programme, avoir des connaissances de base de programmeur voir même plus sont requises.
Compiler n'est pas tjs compliquer, mais savoir ce qu'est et surtout ce dont à besoins le compilateur est primordiale et sachez aussi que Linux et MacOsX même s'ils se ressemblent beaucoup, ne sont pas tout à fait pareil.
 
Ensuite je voudrais dire à celui qui veux faire un driver usb, qu'il risque de bien s'amuser. En effet, mon seul conseil et d'acheter un bouquin spécialiser et un bookin sur les interruptions et l'assembleur PPC, car il va en avoir besoin. De plus je ne sais pas quel est ton périphérique, mais s'il est récent, tu va avoir dut mal (pour les graveur je sais pas comment cela se passe) mais pour acceder à des fonction précise du risque de galèrer si le constructeur ne te dit pas ce qu'il faut mettre dans les et récuperer dans les reegistres. Bref, si c pour une souris, l'écran (attention à la mémoire graphique) ou un modem ou clavier voir même une simple imprimante, tu devrais t'ensortir, pour le reste, ba cela va être plus dur.
Sinon n'oublie surtout pas de restituer les ressources au system une fois que t'as fini sinon çà risque d'être le plantage.
 
Pour le xechange et le fichier.dat, il fo savoir que ce fichier est crypter, il te faudra donc récuperer sa structure si tu veux pouvoir le lire ou le créer. Je n'ai fais qu'une brève recherche qui n'a pas donné grand chose, donc si cette structure n'est pas gratuite ou expliquer, le seul moyen est d'utiliser un éditeur hexa et de le décomposer, c long et chiant mais c le seul moyen quand on a pas de doc. Si vraiment y a pas de doc et que tu veux te lancer de l'héxa. Utilise des petits fichiers au départ parce que sinon tu va mourrir.
 
Non je ne peux pas leur répondre directement malheureusement et pis à un moment j'écrit pour les gens en général par pour lui précisément. /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/smile.gif
 
Ah ok, j'avais pas pensé à ça... Bon j'ai rien dit /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/smile.gif

N'empêche tu pourrais t'enregistrer un jour /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif niark niark niark /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/tongue.gif
 
Merci, j'ai déjà réduit le problème à ça grace au coup de pouce:
g++ -Wall -g -c main.cpp -Wall
In file included from main.h:1,
from main.cpp:1:
glwindow.h:3:24: OpenGL/glx.h: No such file or directory
In file included from main.h:1,
from main.cpp:1:
glwindow.h:23: syntax error before `*' token
glwindow.h:24: syntax error before `*' token
glwindow.h:25: 'Colormap' is used as a type, but is not defined as a type.
glwindow.h:26: 'XSetWindowAttributes' is used as a type, but is not defined as
a type.
glwindow.h:27: 'Window' is used as a type, but is not defined as a type.
glwindow.h:28: 'GLXContext' is used as a type, but is not defined as a type.
glwindow.h:29: 'XEvent' is used as a type, but is not defined as a type.
make: *** [main.o] Error 1


En sachant que dans mon dossier j'i ça:

ant.cpp
ant.h
fero.h
global.h
glwindow.cpp
glwindow.h
main.cpp
main.h
makefile
world.cpp
world.h


.....
 
pour le glx.h, c 'est un pb d'inclusion, va voir si le fichier existe bien.
Pour les syntax error, c qu'il y a un pb dans le code, c peut être un truc tout bête mais n'ayant pas les sources sous les yeux ba c plutot difficile de répondre pour çà.

Pour le ColorMap, c que tu utilise un type mais malheureusement il ne trouve pas le fichier header (*.h), vérifie donc qu'il est bien inclus et si oui que le chemin vers ce fichier est le bon.
Pour les autres qui suivent c la même erreur donc je penses que celà doit être le même pb.
Il ce peut aussi que cela ne soit pas un type comme le dit le compilateur, en effet si tu defini des objets que qu'ensuite tu utilise leur nom pour definir des variables ba le povre, il va plus rien comprendre donc vérifie çà aussi.

Le plus important est de trouver le glx.h car de là peut en découler les autres problèmes.
 
MGZ Black Beru a dit:
N'empêche tu pourrais t'enregistrer un jour /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif niark niark niark /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/tongue.gif

Cela signifierait-il que tu enregistres des pseudos dont tu n'en a pas besoin. /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/rolleyes.gif
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par Anonyme:</font><hr />

Cela signifierait-il que tu enregistres des pseudos dont tu n'en a pas besoin. /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/rolleyes.gif
<hr /></blockquote>

J'y aurais pas intérêt, vu que ça pourrait te faire fuir et qu'il y aurait moins d'ambiance dans le forum /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif
 
Ke tu dis, mais le penses-tu vraiment ? /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/rolleyes.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif
 
Voilà la source qui pause problème:

#ifndef GLWINDOW_H
#define GLWINDOW_H
#include "OpenGL/glx.h"
#include "world.h"
#include "iostream.h"
#include "global.h"

using namespace std;


class GLWindow {
public:
GLWindow();
~GLWindow();
void swapBuffers();
void display();
void idleLoop();
void setCanvas(float * c);
void setWorld(World * wrld);

private:
World * w;
Display *dpy;
XVisualInfo *vi;
Colormap cmap;
XSetWindowAttributes swa;
Window win;
GLXContext cx;
XEvent event;
int RGB_COLOR;
// int screen_height;
// int screen_width;
int swap_flag;
};


#endif


Bon, comme je l'ai dit, c'est fait pour du Linux sur PC...
Il faudrait trouver une biblio comparable à glx.h ou alors est-il possible de l'importer?

Pour le reste, je sais pas comment modifier....
 
Un ptit bout de code, çà aide bien, si tu me le permet, je regarde çà se soir parce qu'en ce moment je suis au boulot en train de me prendre la tête sur le compilo du PC. /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/wink.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/frown.gif /ubbthreads/http://forums.macg.co/vbulletin/images/smiliesold/laugh.gif
 
Je vais ajouter le makefile.... car il me semble que bien des trucs pointent n'importe où...

#FLAGS=-O3 -ffast-math
FLAGS= -Wall -g
INCLUDE= #-I/usr/X11R6/include
LIBS= -lGL #-pthread #-lXmu -lX11 #-lXi #-lGL #-GLU
#-pthread -static
#-lstlport_gcc
LIBPATH= #-L/usr/X11R6/lib
EXECUTABLE_NAME=glxwin

$(EXECUTABLE_NAME) : main.o world.o glwindow.o ant.o
g++ $(FLAGS) -o $(EXECUTABLE_NAME) main.o world.o glwindow.o ant.o $(INCLUDE) $(LIBS) $(LIBPATH)

main.o : main.cpp main.h glwindow.h world.h global.h
g++ $(FLAGS) -c main.cpp -Wall

glwindow.o : glwindow.cpp glwindow.h world.h global.h main.h
g++ $(FLAGS) -c glwindow.cpp -Wall

world.o : world.cpp world.h ant.h global.h fero.h main.h
g++ $(FLAGS) -c world.cpp -Wall

ant.o : ant.cpp ant.h global.h fero.h main.h
g++ $(FLAGS) -c ant.cpp -Wall

.PHONY : clean
clean :
-rm *.o $(EXECUTABLE_NAME) *~ core
 
<blockquote><font class="small">Post&eacute; &agrave; l'origine par blackhole:</font><hr />
INCLUDE= #-I/usr/X11R6/include
LIBS= -lGL #-pthread #-lXmu -lX11 #-lXi #-lGL #-GLU
<hr /></blockquote>

J'ai bien l'impréssion que ce sont des chemins sur Linux çà et je ne crois pas que ce soient les même sur macosx. Et pour les librairies je crois bien que c la même chose. Tu utilise les developper tools ?
 
oui c'est des chemins pour linux et oui j'utilise les développeurs tools...

Je me pause une question, en installeant Fink, je devrais pouvoir compiler tout ça sans problème et le faire fonctionner sous XDarwin? non?
C'est probablement plus simple que de changer les library et les path
 
Oui fo tenter.
Sinon, faut que tu refasse ton make tout seul ou à l'aide de project builder. Pour le make, project builder nome cela target.