vendredi 20 mars 2015

Eclipse - Langage C - MinGW-w64 - Error : prefix lib devant mon exécutable !?

Je me retrouve avec mon exécutable préfixé de "lib". C'est plutôt ésotérique Eclipse et MinGW. Je ne suis pas loin d'écrire qu'Eclipse est le pire des outils de développement pour le langage C.

Eclipse fait trop de choses de façon automatique, vous renommez quelque chose quelque part et il parse à tout va il renomme un tas de truc partout.

Alors que je tente de créer une Librairie en C, utilisable par un projet en C : Console1.exe, oui du pure langage C pas de C++. Je me retrouve avec mon exécutable préfixé de "lib" : libConsole1.exe. Evidemment plus rien ne fonctionne !

Eclipse en Langage C exécutable préfixé - Solution

La solution se trouve dans : Sur le projet, bouton droit puis :Properties->C/C++ Build->Settings->Build Artifact->Out put prefix : "lib"

Je mettrais ma main à couper que c'est parce que je cherchais à utiliser ma lib en ajoutant le chemin d'include du .h et en cherchant à compiler le projet avec ma lib qu'Eclipse a cru bon de rajouter ce "lib" à cet endroit. Certainement qu'il croyait bien faire mais l'enfer est pavé de bonnes intentions.

Hope this help !

lundi 9 mars 2015

Développer en Langage C avec Eclipse et MinGW

Quelques notes sur l'utilisation de l'environnement MinGW (Minimalist GNU (système d'exploitation constitué de logiciels libres (GNU means "not for unix"))  for Windows). Et l'IDE Eclipse dont la release actuelle est Luna.

Installation d'Eclipse

Il n'y a pas d'installeur pour Eclipse ! Il suffit de dézipper l'archive dans un répertoire. Aussi lorsque la boite de dialogue suivant apparaît :

Démarrage d'Eclipse
Elle indique qu'Eclipse ne peut pas fonctionner sans le Java Development Kit (JDK) et que celui-ci n'a pas été trouvé, il ne vous reste plus qu'à l'installer ...

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Installation du Jave SE Development Kit
Pour moi ce n'a pas été la peine d'ajouter un chemin vers Java dans le path ... Eclipse s'est lancé tout seul comme un grand :

Eclipse Luna - Ecran d'accueil

Installation de MinGW

Allons directement sur le lien de sourceforge : MinGW - Minimalist GNU for Windows
Les dédales du site www.mingw.org sont impénétrables ...

Une fois le mingw-get-setup.exe télécharger les choses commencent, d'abord il va créer une arborescence dans : C:\MinGW\bin et puis envoyer un tas de messages d'alertes, d'erreurs, d'insultes, comme quoi il ne peut pas télécharger les packages ?! Ne pas s'affoler, trouver l'exe dans le répertoire C:\MinGW\bin\mingw-get.exe et relancer tranquillement l'exécutable : mingw-get.exe et l'installation recommence, faire les choix des packages à installer :

Exécutable de configuration de MinGW
C'est l'outil qu'il faut maîtriser pour configurer MinGW.

Mon premier projet MinGW GCC avec Eclipse

Lancer Eclipse : File->New :

Création d'un projet en Langage C avec Eclipse et MinGW
Eclipse création d'un projet en langage C avec MinGW comme compilateur
Evidemment, après, c'est l'erreur, ou l'horreur au choix !

Errors (1 item) - Program "g++" not found in PATH !

Errors : g++ not found in Path !

Sur le sujet, on pourra lire par exemple, la page suivante :
On y préconise entre autre, de faire un reset ... chaque fois que l'on trouve le bouton "Reset defaults", tout un programme.

Pourquoi cela ne fonctionne pas ?

Eclipse est un IDE multi-plateforme, capable d'adresser une multitude de chaînes de compilations.

Imaginez que vous développiez vous même votre compilateur, linker, débugger, vous pourriez l'utiliser avec Eclipse. Mais pour que cela fonctionne, il faut que le tout, Eclipse, MinGW, et tous les autres plugins soient installés correctement. Cela passe par le PATH de chacune des chaines de compilations mais toutes ne sont pas compatibles sur le même poste de développement. Par exemple 

D'abord vous allez découvrir que le projet MinGW est abandonné, même s'il semble vivre encore, une branche est en train de lui couper l'herbe sous le pied c'est MinGW-w64. Donc mingw-get-setup.exe l'installeur hyper compliqué impossible à maîtriser ne doit pas être utilisé ... !?? Lui succède mingw-w64-install.exe. Le problème : cela se ressemble trop.

Vous aurez perdu un temps fou à maîtriser tout cela mais ce ne sera pas totalement perdu car il faut maintenant recommencer avec MinGW-w64 (pour x86, win32 et win64 notez au passage).

Eclipse et MinGW enfin le début d'une solution propre

Utiliser MinGW-w64 au lieu de MinGW :

Comment configurer le Tout !

Installation d'Eclipse

Help->Install New Software->Working with Juno

Eclipse Management Packets

Installation de MinGW-w64

I use here the TDD gcc x64, a well done installer for MinGW64
Et là, je découvre enfin le Graal, un nouvel outils d'installation MinGW-w64 : TDD gss x64 ... je cours l'essayer ... Pour moi cela à fonctionné, mon programme à compilé du premier coup, l'installeur avait ajouté : C:\TDM-GCC-64\bin dans le path, j'ai pu lancer l'exécution en Debug

J'avais un nouveau template de MinGW :

Eclipse Template - MinGW-w64
Et quand j'ai créé mon projet :

MinGW-w34 configuré correctement pour une utilisation avec Eclipse
Au hasard de mes lectures, je trouve cette page :

Informations techniques sur l'installation de l'environnement MinGW 64. C'est un peu technique mais utile s'il on veut en savoir plus.

Error : Toolchain "MinGW GCC" is not detected

Toolchain "MinGW GCC" is not detected. Refer to "C/C++ Development User Guide", "Before you begin" how to install toolchains. 

Vous trouverez le page dans la documentation et là on vous dira d'installer correctement MinGW mais ce n'est pas MinGW-w64 !

Vous avez installé une version de MinGW-w64 par exemple dans : C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4, tout va bien mais il n'y a rien à faire ! MinGW-w64 n'est pas correctement supporté par Eclipse. Le souci c'est, si vous voulez utiliser par exemple MinGW-w64 i 686 v4.8.2 v3 rev 4, vous ne pourrez pas créer de nouveau projet : File->New->C++ Project MinGW GCC n'est pas présent dans la liste. Et pourtant votre projet fonctionne.

J'ai même recopier tout le contenu de C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4\mingw32 dans C:\MinGW cela n'a pas fonctionné ! Il est vrai que lorsque l'on regarde la page suivante qui nous explique l'algo d'Eclipse pour trouver MinGW on n'est pas surpris que cela ne fonctionne pas :

Astuce pour créer un nouveau projet MinGW-w64

Je n'ai rien trouvé de plus brillant, j'ai un MinGW (et non un MinGW-w64) d'installé dans C:\MinGW, je peux alors créer un nouveau projet et lorsque je souhaite utiliser la chaîne de développement MinGW-w64, je renomme le répertoire C:\MinGW en autre chose, tout simplement.

Et puis finalement, j'ai décoché la case "Show porject types and toolchains only if they are supported on the platform" :

Création d'un projet MinGW-w64 avec Eclipse
Et cela à fonctionné.

Cela vous aidé ? Nous ne sommes rémunéré que par la publicité alors n'hésitez pas à cliquer et n'oubliez pas,
Have Fun!

lundi 9 février 2015

Partagez la souris, le clavier et le presse-papier entre plusieurs ordinateurs

J'ai deux ordinateurs, oui c'est deux fois plus de puissance CPU, lorsque l'un est occupé je me retourne vers l'autre et c'est très puissant. Seulement j'avais aussi deux claviers, deux souris, un répertoire partagé pour servir de transfert entre mes deux PC.

Quand je me suis posé cette question : N'y aurait-il pas un logiciel capable de distribuer les ordres de ma souris et de mon clavier à travers mon réseau pour piloter mes deux ordinateurs ?

Et voici ce que j'ai touvé : Input Director 1.2.2

Input Director

Retrouvez "Input Director" sur le site de PC-Astuces :

http://www.pcastuces.com/logitheque/input_director.htm

Une fois téléchargé, vous avez accès à une documentation complète, pour configurer le Master et les Slaves.

Une remarque: Ne vous embêtez pas avec le hostname de l'ordinateur slave, pour moi cela n'a pas fonctionné. Input Idector me répondait tout le temps : "C'est le nom de ce système choisissez un autre nom.". C'est sans doute lié à mon réseau Windows mal configuré. En fait Input Director fonctionne tout seul.

Entrez directement l'adresse Ip de l'ordinateur slave :

Input Director - Adresse IP de l'ordinateur slave

Le petit plus auquel on ne s'attend pas : le partage du Presse-papier c'est très pratique pour partager des données entre PC sur un réseau privé.

Mise à jour de la version InputDirector v2.1.2

Je viens de revenir ici car j'ai besoin de travail avec mon ordi de poste et mon ordi portable mais pour me simplifier la vie, je coller mes deux écrans l'un à côté de l'autre et je les contrôle avec le même clavier et la même souris pratique non ?

Je télécharge et j'installe donc la dernière version d'InputDirector v2.1.2 et c'est encore plus fort. une fois installé sur mon ordi maître et mon ordi esclave Inputdirector se débrouille tout seul.

Si je m'arrête sur l'icône systray d'Input Director son mon ordi portable je vois directement son adresse IP sur mon réseau interne :

Input Director me donne directement l'adresse IP à configurer
Input Director me donne directement l'adresse IP à configurer

Mais encore mieux quand je vais configurer l'ordi maître, InputDirector me propose de scanner le réseau interne :

InputDirector - Scan Network to find candidate

Rien à faire InputDirector trouve tout seul l'ordi à piloter pour partager mon clavier ma souris entre ces deux ordinateurs et n'oublions le Presse-papier.

InputDirector - LastNews pour les nouvelles fonctionnalités

Have fun!

jeudi 22 janvier 2015

Langage Python - Zope Community Open Source

Voici une communauté open source en langage Python : Zope. Quoi de mieux pour maîtriser le langage Python que de plonger directement dans les sources d'un programme aussi abouti que celui de la communauté Zope ?


Malheureusement ce n'est peut être pas si simple. Il ne suffit pas de télécharger puis d'exécuter le programme Zope. C'est même un super bordel à en voir les posts : How to install Zope on Windows?

Alors c'est quoi Zope ? Le Monde de Zope
un moyen de développer des sites web en python ...