Bonjour,
Souhaitant utiliser les compilateurs GNU en commandes lignes dans une console, j’ai procédé par étapes comme suit ; le résultat est que ça ne compile pas.
N’ayant jamais eu un cours approfondi sur UNIX ou LINUX, mes connaissances sur la mise en œuvre des commandes correspondantes sont plus que fragmentaires. Si vous voyez ce qui « cloche » dans ma démarche, je vous remercie par avance pour l’aide que vous voudrez bien m’apporter.
Cordialement vôtre,
getud78
Mise en œuvre des moyens choisis :
Mise en place des outils d’émulation UNIX – Modification de la variable d’environnement PATH – Essais de compilations
1 – Mise en place des deux outils d’émulation d’UNIX : mingw-w64 et mysys2
1.1 - Téléchargement et installation de mingw-w64 :
https://sourceforge.net/projects/min...les/mingw-w64/
On télécharge alors mingw-w64-install.exe (938 Ko)
Pour son exécution, les choix suivants ont été validés :
Settings :
Version : 8.1.0
Architecture : x86_64
Thread : posix
Exception : seh
Build revision : 0
mingw64 est installé dans C:\Users\Mon_Nom\mingw64\bin
Les répertoires que j’ai cru bon de retenir pour la variable d’environnement PATH sont :
C:\Users\MON_NOM\mingw64\bin qui contient les compilateurs
C:\Users\MON_NOM\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0 qui contient des fichiers compressés .a ???
C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\bin qui contient des commandes .exe
C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\lib qui contient des fichiers .o et des .a ???
C:\Users\MON_NOM\mingw64\opt\bin qui contient des commandes et des dll
Ces choix méritent d’être analysés par des personnes plus au fait que moi des subtilités de mingw64.
1.2 – Téléchargement et installation de MYSYS2 (bash shell)
https://www.msys2.org/
Choix : x86_64
On télécharge alors msys2-x86_64-20180531.exe (77295K0)
Il est exécuté et le résultat est dans le répertoire C:\MYSYS2_64 qui contient de nombreux répertoires vides qui semblent correspondre à des répertoires de mingw64
C:\MYSYS2_64\usr\bin contient l’émulation des commandes UNIX retenues ; en particulier la console mintty.exe.
Pour la variable d’environnement PATH, j’ai retenu :
C:\MYSYS2_64\usr\bin
2 _ Insertion des répertoires retenus dans la variable d’environnement PATH.
C:\Program Files\Java\jdk1.8.0_91\bin;C:\Program Files\Java\jre1.8.0_91\bin; C:\MYSYS2_64\usr\bin; C:\Users\MON_NOM\mingw64\bin;C:\Users\MON_NOM\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0 ; C:\Users\MON_NOM\mingw64\x86_64-w64mingw32\bin ;C:\Users\MON_NOM\mingw64\x86_64-w64-mingw32\ ;C:\Users\MON_NOM\mingw64\opt\bin;C:\Git\bin\;C:\Git\usr\bin\;C:\gedit\bin;C:\gedit_64\bin;C:\gedit\bin;C:\gedit_64\bin;C:\Users\MON_NOM\AppData\Roaming\Dashlane\4.1.1.10306\bin\Firefox_Extension\{442718d9-475e-452a-b3e1-fb1ee16b8e9f}\components8e9f}\components;C:\Users\MON_NOM\Anaconda3\;C:\Users\MON_NOM\Anaconda3\Scripts\;C:\Mes_Programmes\eclipse;
3 – COMPILATION NON-ABOUTIES
Pour ces exemples très simples, les fichiers de compilation ont été recopiés dans le répertoire de travail.
1 – vérification de l’existence de gfortran.exe et du fichier Langage_F95_salutations.f95 dans le répertoire de travail
$ ls -l -t gfortran.exe
-rwxr-xr-x 1 MON_NOM None 1957376 12 mai 08:10 gfortran.exe
$ ls -l -t Langage_F95_salutations.f95
-rw-r--r-- 1 MON_NOM None 146 26 juin 22:51 Langage_F95_salutations.f95
2 - 1er essai de compilation
$ gfortran.exe Langage_F95_salutations.f95
bash: gfortran.exe : commande introuvable
3 – 2ème essai de compilation
$ ./gfortran.exe Langage_F95_salutations.f95
C:/Compilation_Execution/gfortran.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
Remarque : La console ne semble pas avoir un accès direct à la variable d’environnement PATH définie précédemment.
Comment y remédier ?
Est-ce suffisant pour expliquer que la compilation n’aboutit pas ?
Je retrouve les mêmes problèmes avec gcc.exe et le fichier équivalent Langage_C_salutations.c
Fichiers sources utilisés pour les premiers tests de compilation :
Fortran :
Program Salut
implicit none
print *, "Le Fortran 90 vous salue bien !"
print *, "Patientez un peu !"
call sleep(10)
End Program Salut
C :
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Le Langage C vous salue bien !\n");
printf("Patientez un peu !");
sleep(5);
return 0;
}
Partager