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

Auteur Sujet: [Résolu] Compilation sous Linux  (Lu 3810 fois)

0 Membres et 1 Invité sur ce sujet

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
[Résolu] Compilation sous Linux
« le: Février 16, 2017, 02:33:05 pm »
Bonjour !

Ça fait un bon moment que je suis passé au monde Linux, que j'apprécie beaucoup. Je commence à parler shell plus ou moins couramment, enfin, je me débrouille disons.

Mais je suis resté en dual boot sous Windows notamment car j'ai des soucis pour compiler / faire tourner mes programmes construits avec la SFML.

Après des heures de lectures afin de tenter de comprendre globalement comment tout cela fonctionne, je me tourne vers vous car vous allez voir, je crois que je ne suis pas loin de toucher au but. Il doit manquer un petit détail ou deux pour tout faire fonctionner correctement.

Je suis sous Mint (base Ubuntu donc). J'ai compilé GCC 5.4.0 et l'ai installé de façon globale (remplaçant donc GCC-4.8, je n'ai pas utilisé le système d'update-alternatives, j'ai complètement remplacé gcc-4.8 ).

J'ai compilé la SFML avec ce même compilateur. Et l'ai installé de manière globale sur le système.

J'ai configuré Code::Blocks et il compile les programmes SFML sans problème. L'auto-completion concernant la SFML fonctionne très bien également.

Par contre il ne lance pas les programmes SFML. Par exemple pour un programme de test tout simple il renvoie une erreur : "free(): invalid pointer".

Par contre j'ai exporté de manière globale les variables LD_LIBRARY_PATH et LD_RUN_PATH contenant le chemin vers /usr/local/include/SFML.
Ce qui me permet de lancer les programmes SFML en ligne de commande sans problème.
Alors que pour rappel, ils sont compilés avec C::B et je n'arrive pas à les compiler en ligne de commande (en ajoutant à tâtons -L /chemin/de/SFML).

Donc voilà, j'aimerais savoir ce que je dois faire :
- pour que CodeBlocks lance les programmes SFML
- optionnellement pouvoir compiler les programmes SFML en ligne de commande.

Si cela est possible, j'aimerais une solution globale, qui n'implique pas de rajouter des options sur la ligne de commande. Mais peut-être n'est-ce pas possible.

Je vous remercie pour votre lecture.
« Modifié: Février 25, 2017, 11:22:34 pm par Renardesque »

icone salut

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Compilation sous Linux
« Réponse #1 le: Février 16, 2017, 06:12:52 pm »
Bonjour Renardesque!
Étant sous Linux je n'utilise pas spécialement CodeBlocks mais les ligne de commande, si tu a déjà des connaissance en shell à lors tu ne devrait pas avoir du mal à compilé en ligne de commande ;) et Laurent explique très bien comment compilé un programme avec la sfml sur ce lien http://www.sfml-dev.org/tutorials/2.4/start-linux-fr.php#compiler-un-programme-sfml.

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : Compilation sous Linux
« Réponse #2 le: Février 17, 2017, 01:47:41 pm »
Je te remercie de ta réponse !

Oui, j'avais simplement oublié de lier les bibliothèques avec les paramètres -lsfml-xxx lors de la compilation en ligne de commande. Maintenant je peux compiler et exécuter en ligne de commande sans soucis, j'ai même supprimé les variables d'environnement $LD_LIBRARY_PATH et $LD_RUN_PATH.

Il va falloir que j'apprenne à me servir correctement du débugger en ligne de commande je suppose. J'aimais bien son intégration dans CodeBlocks.

Dans CodeBlocks je ne peux toujours pas lancer un programme SFML, ça me fait toujours le même genre de petite erreur, malgré que je l'ai configuré autant que je le pouvais comme indiqué. Les autres programmes se compilent très bien, avec ou sans --std=c++11 dans CodeBlocks.

icone salut

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Compilation sous Linux
« Réponse #3 le: Février 19, 2017, 05:48:10 pm »
si tu veut utiliser gdb(un debugger en console ;D ) je connais un très bon site pour apprendre à l'utiliser https://doc.ubuntu-fr.org/gdb.

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : Compilation sous Linux
« Réponse #4 le: Février 19, 2017, 06:36:14 pm »
Yep yep, c'est bien GDB que j'utilisais déjà, graphiquement intégré à CodeBlocks.
Ce matin je l'ai d'ailleurs désinstallé et compilé la dernière version :D
Il y a également un tuto assez complet sur openclassrooms.
Merci pour la page Ubuntu, ça donne des infos aussi.

Mais je vais d'abord voir si le fait de compiler la dernière version de C::B ne règle pas mes problèmes.
Sinon j'ai déjà des onglets ouverts qui expliquent comment ajouter l'autocompletion de bibliothèques particulières à Vim ;D

icone salut

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Re : Compilation sous Linux
« Réponse #5 le: Février 21, 2017, 10:42:38 am »
Sinon j'ai déjà des onglets ouverts qui expliquent comment ajouter l'autocompletion de bibliothèques particulières à Vim ;D
Ça m'intéresse :), as tu des liens s'il te plaît?

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : Re : Re : Compilation sous Linux
« Réponse #6 le: Février 21, 2017, 01:21:17 pm »
Ça m'intéresse :), as tu des liens s'il te plaît?

http://www.commentcamarche.net/faq/17019-l-autocompletion-c-c-sous-vim

Cette page semble récente et à partir de là tu as des liens vers des plugins vim et vers le logiciel ctags, + des explications pour l'envoyer lire les includes des bibliothèques de ton choix.

icone salut

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Compilation sous Linux
« Réponse #7 le: Février 23, 2017, 08:47:31 am »
Merci pour le lien :D sinon pour un dernier tuyau il t'a sur Linux d'autre idée que code block  :): kdevelop , qtcreator qui marche très bien , geany léger mais possède beaucoup de plugins , éclipse (s'utilise beaucoup en Java mais pas que) ,...ect

janf

  • Newbie
  • *
  • Messages: 45
    • Voir le profil
Re : Compilation sous Linux
« Réponse #8 le: Février 23, 2017, 09:22:42 am »
Yep !

Mais c'est bon, moi qui suis habitué à CodeBlocks, j'ai pu me refaire un environnement de développement et de compilation sain avec ce logiciel. Parfaite auto-completion et reconnaissance des fonctions (types des arguments etc.) aussi bien de la STL que de la SFML.

J'ai juste installé un compilateur plus récent que celui de ma distro, recompilé wxWidgets et Codeblocks, et surtout supprimé les anciens fichiers de configuration de ce dernier. Et là pouf, magie ! :)

Sinon effectivement j'utilise Vim et Geany de façon assez intensive pour tout ce qui n'est pas "projet de compilation C/C++".
« Modifié: Février 23, 2017, 09:24:31 am par Renardesque »

icone salut

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Compilation sous Linux
« Réponse #9 le: Février 23, 2017, 01:33:39 pm »
Eh bien ,sujet résolue .

 

anything