#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é . 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