Myriad Blog 1.3.0 Wednesday, Dec 12th, 2018 at 02:33pm 

Tuesday, May 31st, 2016 at 04:46pm
Compiler un projet C sous Linux

 
Notre nouveau PC (d'occase) installé avec Ubuntu 16.04 - 64 bits, il est temps de le préparer pour développer dessus.
 
Nous avons déjà les projets complets  sur notre machine virtuelle, il suffit donc de mettre en place le compilateur et l'environnement de développement (Code:Blocks), transférer nos projets et établir les lecteurs réseau vers les sources C partagés entre Windows et Linux. Piece of cake.
 
Répertoires partagés
 
Les répertoires partagés sur Windows sont accessibles directement par smb://MonRepertoireDePartage. Pour les monter, Un petit fichier sh d'abord, pour vérifier que ça fonctionne.
Un simple  
sudo mount -c cifs -o username=utilisateur,password=motdepasse,uid=1000,iocharset=utf8,file_mo de=0777, //192.168.1.3/MonRepertoireDePartage /media/shared  
suffit à monter le partage.
Ensuite, bien entendu, on ajoute  
//192.168.1.3/MonRepertoireDePartage /media/shared cifs username=utilisateur,password=motdepasse,uid=1000, iocharset=utf8,file_mode=0777  
au fichier /etc/fstab pour rendre ça permanent, cela va sans dire. Bon, ça a bien pris trois bonnes heures avant de trouver ces commandes, qui permettent d'avoir l'accès aux fichiers en lecture/écriture.
 
Code:Blocks
 
Prudents, et suivant à la lettre les recommandations, nous passons par la librairie logicielle intégrée au système, pour récupérer la version de Code:Blocks "connue pour bien fonctionner et s'installer convenablement".  
Donc, téléchargement par "Ubuntu Software" de la version 13.12 de Code:Blocks. Aucun problème.
Enfin, presque. Après 2 secondes d'utilisation, tout plante. L'éditeur se fige pendant plusieurs secondes, n'affiche plus les noms des fichiers dans les onglets, et met un temps infini à répondre. Inutilisable.
 

Direction le site de CodeBlocks pour récupérer la dernière version (16.01). On suit les directives d'install, qui consistent simplement à ajouter au système un nouveau site de téléchargement grâce à ces quelques petites lignes (le principe même en est fortement déconseillé dans à peu près tous les forums sur Linux) :
sudo add-apt-repository ppa:damien-moore/codeblocks-stable
puis
sudo apt-get update
et  
sudo apt-get install codeblocks
Et là, ça fonctionne. Plus de plantage !  
 
Compilation
 
Nous pouvons maintenant passer aux tentatives de compilation. Le système étant en 64 bits et nos applications en 32, et ces dernières utilisant quelques librairies (le moins possible, mais quand même), il faut préparer tout ça:
 
sudo apt-get install g++-multilib
sudo apt-get install libx11-dev
sudo apt-get install libxrender-dev
sudo apt-get install libfreetype6-dev
 
Sommes-nous étourdis ! Il faut installer la version i386 de certains de ces paquets, of course:
 
sudo apt-get install libx11-dev:i386
sudo apt-get install libfreetype6-dev:i386
sudo apt-get install libfontconfig-dev:i386
sudo apt-get install libasound-dev:i386
 
Et voila, le tour est joué. On peut maintenant compiler, en prenant soin de cocher la compilation 32 bits dans les options du projet. Bon, bien entendu, avec tous les paquets que nous venons d'installer, notre système n'a plus rien à voir avec ce que l'application peut s'attendre à trouver chez l'utilisateur lambda. Une autre installation, ou une autre machine sera donc nécessaire pour disposer d'une plateforme de test.
 
Fidèle à sa réputation de solidité et de convivialité, installer un compilateur et recompiler nos projets sur Linux nous a pris tout au plus deux jours, contre 2 heures sous Windows. Les commandes sont d'une simplicité biblique (je suis sûr qu'en lisant ce billet, vous les avez déjà mémorisées sans vous en rendre compte). On se demande vraiment pourquoi, sur MacOS et Windows, ils s'obstinent encore à proposer des boîtes et des boutons, alors qu'un clavier et un terminal texte suffisent pour tout faire sans effort !
 
Plus on s'intéresse à Linux, et plus on y passe du temps. 2 jours entiers sans décrocher, si ce n'est pas la preuve de son attractivité, ça !
by Olivier Guillion
Comments

Comment from geo Thursday, Jun 2nd, 2016 at 03:36pm
Commandes vocales
Au lieu du clavier, pourquoi pas des commandes vocales ?
Ce serait plus simple et formateur pour la prononciation des langues étrangères.

Comment from Bernard Meylan Thursday, Jun 2nd, 2016 at 08:11am
(No subject)
Quelle abnégation... on va vous proposer pour la Légion d'Honneur...  

Comment from Antoine Bautista Wednesday, Jun 1st, 2016 at 08:51am
Nous aussi....
Quote:
On se demande vraiment pourquoi, sur MacOS et Windows, ils s'obstinent encore à proposer des boîtes et des boutons, alors qu'un clavier et un terminal texte suffisent pour tout faire sans effort !

Nous aussi on se le demande sur HA , donc on attend "le tout faire sans effort"  
Bon travail,
A+


Most recent first
Oldest first

Top of page
Legal information Last update:  (c) Myriad