Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/11/2013, à 17:31

Landerian

C++ : inclure des bibliothèques avec Kate

Bonjour,

je suis actuellement en train de développer SOLAR FALL, un programme de simulation d'une cellule solaire. C'est pour mes études et je dois le rendre "fini" de toute urgence.

Je cherche à utiliser OpenGL pour simuler des électrons en temps réel. J'ai besoin de GLUT pour faire marcher mon programme, du coup j'ai mis

#include <gl/glut.h>

Lorsque je compile avec

g++ solar_fall_particles.C -o solar_fall_particles.e

, j'ai le message suivant :

solar_fall_particles.C:4:21: erreur fatale: gl/glut.h : Aucun fichier ou dossier de ce type
compilation terminée.

Que faire ?
Dois-je ajouter quelque chose à la ligne de compilation ? Dois-je ajouter d'autres lignes de compilation ? Faut-il me tourner vers une alternative ?

Je fonctionne avec ubuntu 12.04 LTS.

Sarah


Celui qui parle sème, celui qui écoute récolte.

Hors ligne

#2 Le 21/11/2013, à 17:42

Epehj

Re : C++ : inclure des bibliothèques avec Kate

Salut,

[warning]je suis pas dev' c/c++ je suis une pine [/warning]

Faut pas utiliser une option -I (i majuscule) au moment de la compilation pour préciser tes lib ?
Et installer freeglut3-dev

Dernière modification par Epehj (Le 21/11/2013, à 17:46)


Linux user #447629 - Ubuntu user # 21770
C'est en sciant que Léonard devint scie

Hors ligne

#3 Le 21/11/2013, à 17:50

Braun

Re : C++ : inclure des bibliothèques avec Kate

Bonjour,
Réaction normale du compilateur, il ne doit pas voir les glut.h et autres bibliothèques glut.
La première chose à faire serait donc de localiser ces fichiers.
Ensuite, par principe, je te conseillerais de ne pas trop charger la ligne de commande mais plutôt de te constituer un fichier Makefile.

Hors ligne

#4 Le 01/12/2013, à 18:50

Landerian

Re : C++ : inclure des bibliothèques avec Kate

J'ai cherché tongue . glut.h se trouve dans /usr/include/GL. En entrant

g++ -I/usr/include/GL solar_fall_particles.C -o solar_fall_particles.e

j'obtiens

/tmp/ccuCeJZ8.o: In function `main':
solar_fall_particles.C:(.text+0x23): undefined reference to `glutInit'
solar_fall_particles.C:(.text+0x2d): undefined reference to `glutInitDisplayMode'
solar_fall_particles.C:(.text+0x3c): undefined reference to `glutInitWindowSize'
solar_fall_particles.C:(.text+0x46): undefined reference to `glutCreateWindow'
solar_fall_particles.C:(.text+0x51): undefined reference to `glutFullScreen'
collect2: ld a retourné 1 code d'état d'exécution

Le compilateur ne se plaint pas de ma ligne #include <glut.h>. En revanche il se plaint des fonctions utilisées. Ai-je fait une erreur ?

#include <iostream>
#include <stdio.h>
#include <math.h>
#include <glut.h>

using namespace std;

int WindowName;


int main(int argc, char *argv[ ], char *envp[ ])

{
  

   	glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480); 	//Optionnel
WindowName = glutCreateWindow("Ma première fenêtre OpenGL !");
glutFullScreen(); 	//Optionnel
 
  
  {/*Présentation*/
    cout<<"SOLAR FALL"<<endl;
    cout<<"Les cellules solaires utilisent un gradient de concentration électronique pour créer un courant. SOLAR FALL a pour but de simuler la mécanique à l'oeuvre dans l'idée de diminuer les pertes d'énergie."<<endl;
    cout<<"Cette version de SOLAR FALL utilise le formalisme des particules. Une particule, c'est un objet que l'on voit comme un point infiniment petit."<<endl;

Celui qui parle sème, celui qui écoute récolte.

Hors ligne

#5 Le 01/12/2013, à 20:57

Braun

Re : C++ : inclure des bibliothèques avec Kate

Bonsoir,
Il semblerait que ton éditeur de lien ne trouve pas les bibliothèques "glut" (paramètre -L de g++), il serait donc utile que tu localises ces bibliothèques (fichiers .lib ou .o si je ne m'abuse).

Hors ligne

#6 Le 02/12/2013, à 01:18

telliam

Re : C++ : inclure des bibliothèques avec Kate

Il manque sûrement  -lglut dans ta ligne de compil


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#7 Le 11/12/2013, à 23:30

Landerian

Re : C++ : inclure des bibliothèques avec Kate

g++ -I/usr/include/GL -lglut solar_fall_particles.C -o solar_fall_particles.e

Toujours pareil :

/tmp/ccf2bu8I.o: In function `main':
solar_fall_particles.C:(.text+0x23): undefined reference to `glutInit'
solar_fall_particles.C:(.text+0x2d): undefined reference to `glutInitDisplayMode'
solar_fall_particles.C:(.text+0x3c): undefined reference to `glutInitWindowSize'
solar_fall_particles.C:(.text+0x46): undefined reference to `glutCreateWindow'
solar_fall_particles.C:(.text+0x51): undefined reference to `glutFullScreen'
collect2: ld a retourné 1 code d'état d'exécution

Celui qui parle sème, celui qui écoute récolte.

Hors ligne

#8 Le 12/12/2013, à 00:39

grim7reaper

Re : C++ : inclure des bibliothèques avec Kate

Remplace :

g++ -I/usr/include/GL -lglut solar_fall_particles.C -o solar_fall_particles.e

par :

g++ -I/usr/include/GL solar_fall_particles.C -o solar_fall_particles.e -lglut

C’est la faute d’Ubuntu qui a changé les options de l’éditeur de liens

Hors ligne

#9 Le 12/12/2013, à 17:50

Landerian

Re : C++ : inclure des bibliothèques avec Kate

Et bien c'est réjouissant, ça marche.

SOLAR FALL
Les cellules solaires utilisent un gradient de concentration électronique pour créer un courant. SOLAR FALL a pour but de simuler la mécanique à l'oeuvre dans l'idée de diminuer les pertes d'énergie.
Cette version de SOLAR FALL utilise le formalisme des particules. Une particule, c'est un objet que l'on voit comme un point infiniment petit.
SOLAR FALL particles fonctionne dans le cadre hypothétique suivant :
< Il y a des trous.
> Les électrons sont assimilés à des points infiniment petits. (C'est l'hypothèses des particules.)
> Une seule force s'exerce : la force de Coulomb.
.
SOLAR FALL utilise les unités du système international : kilogrammes, mètres, secondes, Ampères.
Combien de dimensions souhaitez-vous ? De 1 à 3.
1
D=1
D^1/2=1

:-)

Sarah


Celui qui parle sème, celui qui écoute récolte.

Hors ligne