Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Impossible de compiler  (Lu 4517 fois)

0 Membres et 1 Invité sur ce sujet

Otis

  • Newbie
  • *
  • Messages: 5
  • Je ne suis qu'amour !
    • Voir le profil
    • E-mail
Impossible de compiler
« le: Février 26, 2015, 08:50:51 pm »
Bonjour,

J'ai compilé SFML moi-même, tout s'est bien passé, mais ensuite en liant SFML à mon programme d'essai, il ne fonctionne pas ! comme si les liens fait aux fichiers lib et include n'existaient pas, voici les erreurs :

Citer
-------------- Build: Debug in Apprentissage SFML (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -LC:\SFML-2.2\lib -o "bin\Debug\Apprentissage SFML.exe" obj\Debug\main.o   -lmingw32 -luser32 -lgdi32 -lwinmm -ldxguid -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lsfml-main
C:\SFML-2.2\lib/libsfml-graphics-s.a(RenderWindow.cpp.obj):RenderWindow.cpp:(.text+0x5be): undefined reference to `glReadPixels@28'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x170): undefined reference to `glDeleteTextures@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x226): undefined reference to `__GLEW_ARB_texture_non_power_of_two'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x260): undefined reference to `__GLEW_ARB_texture_non_power_of_two'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x53f): undefined reference to `glGetIntegerv@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x5da): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x62d): undefined reference to `glTexImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x662): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x697): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x6c7): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x6f7): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x7c4): undefined reference to `glGenTextures@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x98d): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x9bb): undefined reference to `glGetTexImage@20'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xb99): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xbce): undefined reference to `glGetTexImage@20'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xd2d): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xd79): undefined reference to `glTexSubImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xea2): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0xeec): undefined reference to `glTexSubImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1036): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1082): undefined reference to `glTexSubImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x129f): undefined reference to `glFlush@0'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x12e1): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x134c): undefined reference to `glTexSubImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x136d): undefined reference to `glFlush@0'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1896): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x18e0): undefined reference to `glTexSubImage2D@36'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1a25): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1a81): undefined reference to `glCopyTexSubImage2D@32'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1bc5): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1c1f): undefined reference to `glCopyTexSubImage2D@32'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1d4d): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1d7d): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1dad): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1e9d): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1ed2): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1f07): undefined reference to `glTexParameteri@12'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1f9a): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1fa9): undefined reference to `glMatrixMode@4'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1fb1): undefined reference to `glLoadIdentity@0'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1fbd): undefined reference to `glMatrixMode@4'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x1fdc): undefined reference to `glBindTexture@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x208f): undefined reference to `glMatrixMode@4'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x209d): undefined reference to `glLoadMatrixf@4'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x20ac): undefined reference to `glMatrixMode@4'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x219d): undefined reference to `glGetIntegerv@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x235f): undefined reference to `glDeleteTextures@8'
C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj):Texture.cpp:(.text+0x2404): undefined reference to `__GLEW_ARB_texture_non_power_of_two'
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\SFML-2.2\lib/libsfml-graphics-s.a(Texture.cpp.obj): bad reloc address 0x17 in section `.text.unlikely'
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 1 second(s))
49 error(s), 0 warning(s) (0 minute(s), 1 second(s))
 

Merci pour votre aide...
Appelatur Otis

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Impossible de compiler
« Réponse #1 le: Février 26, 2015, 09:59:39 pm »
Laurent Gomila - SFML developer

Otis

  • Newbie
  • *
  • Messages: 5
  • Je ne suis qu'amour !
    • Voir le profil
    • E-mail
Re : Impossible de compiler
« Réponse #2 le: Février 26, 2015, 11:34:46 pm »
J'ai refais, en téléchargeant même cette fois celui déjà compilé, en liant sans l'option static.
Cette fois l'erreur est un peu différente. J'ai essayé aussi de faire tout exactement ce qui était marqué dans le tutoriel sans succès et ici d'une autre façon :
Je mets les screenshots uniquement de la méthode utilisé sur le site et en version dynamique :





Message compilateur :
||=== Build: Debug in Apprentissage SFML (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|5|undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|5|undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|5|undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|6|undefined reference to `_imp___ZN2sf11CircleShapeC1Efj'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|7|undefined reference to `_imp___ZN2sf5Color5GreenE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|7|undefined reference to `_imp___ZN2sf5Shape12setFillColorERKNS_5ColorE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|15|undefined reference to `_imp___ZN2sf6Window5closeEv'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|12|undefined reference to `_imp___ZN2sf6Window9pollEventERNS_5EventE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|18|undefined reference to `_imp___ZN2sf5ColorC1Ehhhh'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|18|undefined reference to `_imp___ZN2sf12RenderTarget5clearERKNS_5ColorE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|19|undefined reference to `_imp___ZN2sf12RenderStates7DefaultE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|19|undefined reference to `_imp___ZN2sf12RenderTarget4drawERKNS_8DrawableERKNS_12RenderStatesE'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|20|undefined reference to `_imp___ZN2sf6Window7displayEv'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|9|undefined reference to `_imp___ZNK2sf6Window6isOpenEv'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|23|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|23|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
C:\Users\Adrien\mes programmes C++\Apprentissage SFML\main.cpp|23|undefined reference to `_imp___ZN2sf12RenderWindowD1Ev'|
obj\Debug\main.o||In function `ZN2sf11CircleShapeD1Ev':|
C:\Users\Adrien\SFML-2.2\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Adrien\SFML-2.2\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZTVN2sf11CircleShapeE'|
C:\Users\Adrien\SFML-2.2\include\SFML\Graphics\CircleShape.hpp|41|undefined reference to `_imp___ZN2sf5ShapeD2Ev'|
||=== Build failed: 20 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Appelatur Otis

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Impossible de compiler
« Réponse #3 le: Février 27, 2015, 07:36:01 am »
Et tu as téléchargé quelle archive de SFML ?
Laurent Gomila - SFML developer

yhu420

  • Jr. Member
  • **
  • Messages: 75
    • Voir le profil
    • E-mail
Re : Impossible de compiler
« Réponse #4 le: Février 27, 2015, 03:49:00 pm »
Avant j'ai essayé de compiler SFML moi même avec windows 7 64bits en utilisant codeblocks, j'ai tout essayé, j'y ai passé des heures sans jamais y arriver.
J'ai finalement fini par télécharger VS 2012, très volumineux, mais au moins avec lui, j'ai très rarement eu de pépin. Je te souhaite quand même bonne chance pour ton problème, je ne vois pas de là où ça pourrait venir..

Otis

  • Newbie
  • *
  • Messages: 5
  • Je ne suis qu'amour !
    • Voir le profil
    • E-mail
Re : Impossible de compiler
« Réponse #5 le: Février 27, 2015, 07:01:47 pm »
J'ai un ordinateur AMD 64 bits, Codeblocks est écrit en 32bits alors j'ai décidé de télécharger une des deux versions recommandées pour codeblocks contrairement à mon précédent choix qui se tournait vers une architecture en 64 bits.
À présent je n'ais plus d'erreur de compilateur. Cependant j'ai une erreur d'application lors de son exécution quelque soit la version que je choisis de la SFML 4.7 ou 4.8 (je ne sais pas laquelle choisir entre les deux), mais de toute façon les deux retournent la même erreur qui est :

Titre de la fenêtre : Erreur d'application
Message : L'application n'a pas réussi à démarrer correctement (0xc000007b). Cliquez sur OK pour fermer l'application.

J'aimerai tout de même rester sous codeblocks car je vais bientôt ne plus utiliser Windows pour linux...
Appelatur Otis

Otis

  • Newbie
  • *
  • Messages: 5
  • Je ne suis qu'amour !
    • Voir le profil
    • E-mail
Re : Impossible de compiler
« Réponse #6 le: Février 27, 2015, 07:07:33 pm »
Je retire ce que j'ai dit. Cela fonctionne j'ai juste oublié qu'il fallait aussi mettre à jour mon dossier de DLL avec les nouvelles 32bits GNÉ !!!

Bon tout fonctionne, parfait maintenant j'essaie en static !
Désolé pour le dérangement, mais si d'autres cas comme le mien arrivent alors ce que je conseil aux utilisateurs de codeblocks : télécharger la version 32bits même si on tourne en 64bits !

Désolé du dérangement...
Appelatur Otis

Zantesku

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Impossible de compiler
« Réponse #7 le: Février 28, 2015, 01:43:23 am »
Bonjour, j'ai exactement le même souci que toi, cela fait bien 3-4heures que je tourne sur le problème.
Le tutoriel est suivi à 100%, j'ai même suivi 5-6 vidéos de personne sur le net, d'après mon expérience c'est clairement un problème de version.

Hors je suis persuadé d'avoir associé la bonne version SFML / Codeblocks, dans le doute j'ai quand même essayé avec toutes les versions, que se soit SFML, Codeblocks, toujours le même problème qui diffère de peu.

Je tilt sur l'utilisation de Codeblocks en 32 Bits, pour ma part le site ne me propose qu'une seule version (qu'il doit qualifier de 32/64bit) Avec plus ou moins le compilateur. Comment as-tu récupéré une version 32 bits ? Ou cela se règle t-il quelque part dans codeblocks.

Edit : J'ai poussé le problème un peu plus loin, je compile avec la version 2.1 mais pas 2.2

La différence que j'ai remarqué entre la 2.1 et 2.2 est :
"il faudra aussi lier à winmm, gdi32 et opengl32"

Or je ne les trouvent nulle par dans le dossier lib un indice ?

Merci de vos réponse
« Modifié: Février 28, 2015, 01:57:35 am par Zantesku »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Impossible de compiler
« Réponse #8 le: Février 28, 2015, 02:47:15 am »
Faut lier les dépendances de SFML (winmm etc.) 2.2 juste en statique, si tu lies dynamiquement c'est pas utile.
Normalement tu les as déjà sans le savoir, tu as juste à écrire winmm, gdi32 etc. dans tes options de linker. (comme là où tu écris sfml-graphics-s, etc.)

Je ne comprends pas de quoi tu parles avec ta version unique 32 64 bits, mais quand je regarde sur le site, je vois bien une version 32 et une 64 pour les 3 versions compatibles avec MinGW.

Zantesku

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : Impossible de compiler
« Réponse #9 le: Février 28, 2015, 09:08:52 pm »
@G Je ne parle pas des versions de SFML, je parle des versions 32 / 64 Bit de CodeBlocks.

Je ferais un test pour le linkage de winmm etc... comme tu l'as proposé.