ca serait bien de faire un pull request pour avoir un build automatisé de la version Windows.
Dji_a meme ouvert une issue
https://github.com/esnet/iperf/issues/280 mais y'a pas trop de suite.
Je regarde ca si on peut faire un crossbuild depuis Linux avec MinGW.
sinon:
Instructions pour compiler soi-meme IPerf3 sous Windows:
A. Installer Cygwin
1. télécharger cygwin :
https://cygwin.com/install.html (prendre version 32 ou 64)
2. lors de l'installation de cygwin, un panneau avec plein de choix apparait. il faut click sur la ligne 'Devel' pour que ca passe de "default" a "install". Notez l'
emplacement ou vous installez cygwin (par default c:\cygwin64 par exemple) pour l'etape D.
3. l'installation prend pas mal de temps
une fois cygwin installé, lancer "Cygwin64 Terminal" (ou la version 32): une fenêtre de commande type Unix devrait apparaître.
taper 'pwd' ca devrait afficher '/home/<User>' (
<User> = notez ce nom pour l'etape D)
Les instructions qui suivent sont à faire dans la fenetre Cygwin
B. Télécharger les sources
Les sources 'live' sont sur
https://github.com/esnet/iperf et les versions stables sont dans 'branches' (
https://github.com/esnet/iperf/branches ).
Pour prendre la version live (sans doute pas stable et en cours de développement):
git clone https://github.com/esnet/iperf.git
Pour prendre une version (branch) plus stable, par exemple la "3.1-STABLE":
git clone -b 3.1-STABLE https://github.com/esnet/iperf.git
un répertoire 'iperf' va être crée et les sources seront dedans.
Se positionner dans ce répertoire:
cd iperf
C. Compilation
taper:
./configure
ca va defiler du texte qui devrait se finir par :
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/version.h
config.status: creating examples/Makefile
config.status: creating iperf3.spec
config.status: creating src/iperf_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
modifications du code pour Windows:
sed -i -e 's/\/tmp\/iperf3.XXXXXX/.\/iperf3.XXXXXX/' src/iperf_api.c
cd ./src
find ./ -iname "*.[ch]" |xargs -n1 sed -i s'#iprintf#newprintf#g'
cd ..
Ces 2 manips précédentes adaptent les sources pour Windows. Il se peut qu'a l'avenir cela ne soit plus nécessaire si les auteurs d'IPerf3 incorporent ces modifs dans les sources.
Lancement de la compilation:
make
ca va défiler un bon moment.
si tout ce passe bien l'executable devrait être générer.
Taper:
src/iperf3.exe --version
ca doit afficher la version d'iperf3.
vérifier que la version autonome est bien la:
ls -l src/.libs/iperf3.exe
ca ne doit pas afficher d'erreur.
Si tout ok, la partie Cygwin est fini => vous pouvez quitter la fenetre Cygwin.
D. Recuperation de l'executable autonome et de sa DLL.
pour utiliser iperf3 dans une fenetre ligne de commande Windows normale (cmd) il faut copier les 2 fichiers suivants dans un répertoire de votre choix (vide de preférence):
1. <
dossier installation de cygwin>\home\
<User>\iperf\src\.libs\iperf3.exe
2. <
dossier installation de cygwin>\bin\cygwin1.dll
iperf3.exe devrait fonctionner si la dll est présente dans le même répertoire.