Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

C++ et abs()

3 réponses
Avatar
debianpmd
Bonjour
je recompile le projet dont je suis un des d=E9veloppeurs, projet construit=
sous=20
Mandriva.
J'ai donc fait un Perl de compil ci dessous.
Donc deux questions : quand je compile en bash, =E7a passe , par contre =E0=
=20
travers perl =E7a ne passe pas.
Y at-il une double analyse syntaxique ?
2=B0 question, dans /usr/include/math.h je ne retrouve pas la la fonction=20
abs() , nombre absolu, alors que je vois fabs. Y a t-il une particularit=E9=
=20
sous Debian pour math.h ?

Le perl :
#!/usr/bin/perl -w

$cheminmedintux =3D "/home/pmddeb/Desktop/MedinTux-V2.13-250109/Programmes/=
";
$cheminqmakeqt3 =3D "/usr/bin/qmake";
$cheminqmakeqt4 =3D "/usr/bin/qmake-qt4";
$cheminmake =3D "/usr/bin/make";
#@qmakeqt3project =3D ("$cheminqmakeqt3","-project");
#@qmakeqt4project =3D ("$cheminqmakeqt4","-project");


@qmakecompta =3D ($cheminqmakeqt3,=20
$cheminmedintux."comptabilite/compta/compta.pro");
@qmakecheck_dus =3D ($cheminqmakeqt3,
$cheminmedintux."comptabilite/check_dus/check_du.pro");
@qmakecomptaplug =3D ($cheminqmakeqt3,
$cheminmedintux."comptabilite/compta-plugins/compta-plugins.pro");
@qmakechoix =3D ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/choixdialog/choix=
dialog.pro");
@qmakerecette =3D ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/recettedialog/rec=
ettedialog.pro");
@qmakedepense =3D ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/depensedialog/dep=
ensedialog.pro");
@qmakealarmes =3D ($cheminqmakeqt4 ,
$cheminmedintux."pensebetux/Alarmes/src/src.pro");
@qmakelecturealarmes =3D ($cheminqmakeqt4 ,
$cheminmedintux."pensebetux/lecture_table_alarmes/src/src.pro");
@makeclean =3D ($cheminmake,"clean");
@make =3D ($cheminmake);
#construction de la liste des make=20

@listemake =3D=20
("ccamview", "drtux", "gest_user", "personnes", "QLightPad", "QLaboFTP", "M=
anager", "mise_a_jour", "set_bases", "qgetdatasemp", "qmedicabase", "manu",=
"med_stat", "cal_obst", "calendrier", "param_view", "comptabilite","penseb=
etux","sauvegarde","crypt");

chdir $cheminmedintux;

for($i=3D0;$i<@listemake;$i++){

if($listemake[$i] eq "comptabilite"){
#--------------------------------------------------------------------------=
=2D--------------------

#system(@qmakeqt3project) =3D=3D 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecompta) =3D=3D 0
or die "system @qmakecompta erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
print "compilation compta OK";
#--------------------------------------------------------------------------=
=2D---------------------

#system(@qmakeqt3project) =3D=3D 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecheck_dus) =3D=3D 0
or die "system @qmakecheck_dus erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
print "compilation check_dus OK";
#--------------------------------------------------------------------------=
=2D---------------------

#system(@qmakeqt3project) =3D=3D 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecomptaplug) =3D=3D 0
or die "system @qmakecomptaplug erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
print "compilation compta-plugins OK";

#compilation en=20
QT4 -----------------------------------------------------------------------=
=2D-----
#choixdialog --------------------------------------------------------------=
=2D-----------------------
#system(@qmakeqt4project) =3D=3D 0
# or die "system @qmakeqt4project erreur:$?";

system(@qmakechoix) =3D=3D 0
or die "system @qmakechoix erreur:$?";

system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
#recettedialog ------------------------------------------------------------=
=2D----------------------------------------

system(@qmakerecette) =3D=3D 0
or die "system @qmakerecette erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
#depensedialog-------------------------------------------------------------=
=2D----------------------------------------
chdir $cheminmedintux."comptabilite/comptabilite_interfaces_src/";
system(@qmakedepense) =3D=3D 0
or die "system @qmakedepense erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
print "compilation comptabilite_interfaces_src OK";
}

#compilation sous=20
QT4 -----------------------------------------------------------------------=
=2D----------------------
#compilation=20
pensebetux ----------------------------------------------------------------=
=2D----------------------------
elsif ($listemake[$i] eq "pensebetux"){
#compilation=20
Alarmes -------------------------------------------------------------------=
=2D-------------------------------------
system(@qmakealarmes) =3D=3D 0
or die "system @qmakealarmes erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
#compilation=20
lecture_table_alarmes -----------------------------------------------------=
=2D-----------------------------
system(@qmakelecturealarmes) =3D=3D 0
or die "system @qmakelecturealarmes erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
}
#compilation sauvegarde et=20
crypt ---------------------------------------------------------------------=
=2D--------------
elsif( $listemake[$i] eq "sauvegarde" || $listemake[$i] eq "crypt" ){
@qmakeqt4 =3D ($cheminqmakeqt4,$cheminmedintux.$listemake[$i]."/src/src.pro=
");
system(@qmakeqt4) =3D=3D 0
or die "system @qmakeqt4 erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
}
#compilation de tous les modules qt3 organis=E9s en module/bin et module/src
else{
@qmake =3D ($cheminqmakeqt3,$cheminmedintux.$listemake[$i]."/src/src.pro");
system(@qmake) =3D=3D 0
or die "system @qmake erreur:$?";
system(@makeclean) =3D=3D 0
or die "system @make erreur:$?";
system(@make) =3D=3D 0
or die "system @make erreur:$?";
}
}

print "compilation r=E9ussie, veuillez mettre les binaires produits dans le=
s=20
fichiers bin";


Merci de votre aide
pmd


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

3 réponses

Avatar
David Soulayrol
Le mercredi 28 janvier 2009 à 14:11 +0100, debianpmd a écrit :

2° question, dans /usr/include/math.h je ne retrouve pas la la fonction
abs() , nombre absolu, alors que je vois fabs. Y a t-il une particularité
sous Debian pour math.h ?



fabs se trouve dans math.h et permet de travailler sur des flottants.
abs se trouve dans stdlib.h et ne permet que de travailler sur des
entiers.

Merci pour ta question, je venais justement d'utiliser fabs, et je me
rends compte que abs doit suffire à mon besoin et est peut-être plus
rapide.
--
David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
debianpmd
Le Wednesday 28 January 2009 15:34:04 David Soulayrol, vous avez écrit  :
Le mercredi 28 janvier 2009 à 14:11 +0100, debianpmd a écrit :
> 2° question, dans /usr/include/math.h je ne retrouve pas la la fon ction
> abs() , nombre absolu, alors que je vois fabs. Y a t-il une particulari té
> sous Debian pour math.h ?

fabs se trouve dans math.h et permet de travailler sur des flottants.
abs se trouve dans stdlib.h et ne permet que de travailler sur des
entiers.

Merci pour ta question, je venais justement d'utiliser fabs, et je me
rends compte que abs doit suffire à mon besoin et est peut-être plus
rapide.
--
David.



Super, merci de ta réponse.
Maintenant ça compile super avec stdlib.h, qui contient abs().
Effectivement fabs() , labs() est sous math.h.

Je ne comprend toujours pas pourquoi un qmake src.pro make clean make ne vo it
pas l'erreur en terminal et que sous mon perl ça coince.
C'est pourtant le même /usr/bin/make ?
Et le programme marchait quand même .
Enfin... ça fait du ménage ;-)
Cordialement
pmd

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
debianpmd
Le Wednesday 28 January 2009 14:11:12 debianpmd, vous avez écrit :
Bonjour
je recompile le projet dont je suis un des développeurs, projet constru it
sous Mandriva.
J'ai donc fait un Perl de compil ci dessous.
Donc deux questions : quand je compile en bash, ça passe , par contre à
travers perl ça ne passe pas.
Y at-il une double analyse syntaxique ?
2° question, dans /usr/include/math.h je ne retrouve pas la la fonction
abs() , nombre absolu, alors que je vois fabs. Y a t-il une particularit é
sous Debian pour math.h ?

Le perl :
#!/usr/bin/perl -w

$cheminmedintux = "/home/pmddeb/Desktop/MedinTux-V2.13-250109/Programme s/";
$cheminqmakeqt3 = "/usr/bin/qmake";
$cheminqmakeqt4 = "/usr/bin/qmake-qt4";
$cheminmake = "/usr/bin/make";
#@qmakeqt3project = ("$cheminqmakeqt3","-project");
#@qmakeqt4project = ("$cheminqmakeqt4","-project");


@qmakecompta = ($cheminqmakeqt3,
$cheminmedintux."comptabilite/compta/compta.pro");
@qmakecheck_dus = ($cheminqmakeqt3,
$cheminmedintux."comptabilite/check_dus/check_du.pro");
@qmakecomptaplug = ($cheminqmakeqt3,
$cheminmedintux."comptabilite/compta-plugins/compta-plugins.pro");
@qmakechoix = ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/choixdialog/cho ix
dialog.pro"); @qmakerecette = ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/recettedialog/r ec
ettedialog.pro"); @qmakedepense = ($cheminqmakeqt4 ,
$cheminmedintux."comptabilite/comptabilite_interfaces_src/depensedialog/d ep
ensedialog.pro"); @qmakealarmes = ($cheminqmakeqt4 ,
$cheminmedintux."pensebetux/Alarmes/src/src.pro");
@qmakelecturealarmes = ($cheminqmakeqt4 ,
$cheminmedintux."pensebetux/lecture_table_alarmes/src/src.pro");
@makeclean = ($cheminmake,"clean");
@make = ($cheminmake);
#construction de la liste des make

@listemake =
("ccamview", "drtux", "gest_user", "personnes", "QLightPad", "QLaboFTP",
"Manager", "mise_a_jour", "set_bases", "qgetdatasemp", "qmedicabase",
"manu", "med_stat", "cal_obst", "calendrier", "param_view",
"comptabilite","pensebetux","sauvegarde","crypt");

chdir $cheminmedintux;

for($i=0;$i<@listemake;$i++){

if($listemake[$i] eq "comptabilite"){
#------------------------------------------------------------------------ --
---------------------

#system(@qmakeqt3project) == 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecompta) == 0
or die "system @qmakecompta erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
print "compilation compta OK";
#------------------------------------------------------------------------ --
----------------------

#system(@qmakeqt3project) == 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecheck_dus) == 0
or die "system @qmakecheck_dus erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
print "compilation check_dus OK";
#------------------------------------------------------------------------ --
----------------------

#system(@qmakeqt3project) == 0
# or die "system @qmakeqt3project erreur:$?";
system(@qmakecomptaplug) == 0
or die "system @qmakecomptaplug erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
print "compilation compta-plugins OK";

#compilation en
QT4
------------------------------------------------------------------------- --
-- #choixdialog
------------------------------------------------------------------------- --
----------- #system(@qmakeqt4project) == 0
# or die "system @qmakeqt4project erreur:$?";

system(@qmakechoix) == 0
or die "system @qmakechoix erreur:$?";

system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
#recettedialog
------------------------------------------------------------------------- --
--------------------------

system(@qmakerecette) == 0
or die "system @qmakerecette erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
#depensedialog----------------------------------------------------------- --
----------------------------------------- chdir
$cheminmedintux."comptabilite/comptabilite_interfaces_src/";
system(@qmakedepense) == 0
or die "system @qmakedepense erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
print "compilation comptabilite_interfaces_src OK";
}

#compilation sous
QT4
------------------------------------------------------------------------- --
------------------- #compilation
pensebetux
------------------------------------------------------------------------- --
------------------ elsif ($listemake[$i] eq "pensebetux"){
#compilation
Alarmes
------------------------------------------------------------------------- --
------------------------------ system(@qmakealarmes) == 0
or die "system @qmakealarmes erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
#compilation
lecture_table_alarmes
------------------------------------------------------------------------- --
-------- system(@qmakelecturealarmes) == 0
or die "system @qmakelecturealarmes erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
}
#compilation sauvegarde et
crypt
------------------------------------------------------------------------- --
--------- elsif( $listemake[$i] eq "sauvegarde" || $listemake[$i] eq "cryp t"
){ @qmakeqt4 =
($cheminqmakeqt4,$cheminmedintux.$listemake[$i]."/src/src.pro");
system(@qmakeqt4) == 0
or die "system @qmakeqt4 erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
}
#compilation de tous les modules qt3 organisés en module/bin et module/ src
else{
@qmake = ($cheminqmakeqt3,$cheminmedintux.$listemake[$i]."/src/src.pro" );
system(@qmake) == 0
or die "system @qmake erreur:$?";
system(@makeclean) == 0
or die "system @make erreur:$?";
system(@make) == 0
or die "system @make erreur:$?";
}
}

print "compilation réussie, veuillez mettre les binaires produits dans les
fichiers bin";


Merci de votre aide
pmd



il va sans dire que le perl est erroné.
Manque les chdir ;-)
pmd

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact