Je reprends un vieux programme que j'avais développé avec giac, il y a un an et demi.
Ayant changé de machine et de version d'OS, j'ai du réinstaller giac et consort, puis recompiler mon vieux programme. Et ça ne marche pas.....
J'ai donc essayé de compiler l'exemple : ça ne marche pas non plus.
J'obtiens la réponse suivante :
[code]miko@iem14:~/Bureau/tmp$ c++ -g tryit.cc -lgiac -lgmp
In file included from /usr/include/c++/4.3/ext/hash_map:64,
from /usr/include/giac/index.h:40,
from /usr/include/giac/poly.h:26,
from /usr/include/giac/giac.h:5,
from tryit.cc:1:
/usr/include/c++/4.3/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
tryit.cc: In function ‘int main()’:
tryit.cc:6: error: no matching function for call to ‘giac::gen::gen(std::string)’
/usr/include/giac/gen.h:323: note: candidates are: giac::gen::gen(const giac::my_mpz&)
/usr/include/giac/gen.h:319: note: giac::gen::gen(const giac::grob&)
/usr/include/giac/gen.h:318: note: giac::gen::gen(const giac::eqwdata&)
/usr/include/giac/gen.h:317: note: giac::gen::gen(const giac::gen_map&)
/usr/include/giac/gen.h:316: note: giac::gen::gen(const giac::unary_function_ptr&, int)
/usr/include/giac/gen.h:315: note: giac::gen::gen(const giac::sparse_poly1&)
/usr/include/giac/gen.h:314: note: giac::gen::gen(const std::string&, const giac::vecteur&, const giac::context*)
/usr/include/giac/gen.h:313: note: giac::gen::gen(const std::string&, const giac::context*)
/usr/include/giac/gen.h:312: note: giac::gen::gen(const giac::real_complex_rootof&)
/usr/include/giac/gen.h:311: note: giac::gen::gen(const giac::fraction&)
/usr/include/giac/gen.h:310: note: giac::gen::gen(const giac::polynome&)
/usr/include/giac/gen.h:309: note: giac::gen::gen(giac::polynome*)
/usr/include/giac/gen.h:307: note: giac::gen::gen(const giac::real_object&)
/usr/include/giac/gen.h:306: note: giac::gen::gen(const giac::gen_user&)
/usr/include/giac/gen.h:305: note: giac::gen::gen(giac::symbolic*)
/usr/include/giac/gen.h:304: note: giac::gen::gen(const giac::symbolic&)
/usr/include/giac/gen.h:302: note: giac::gen::gen(giac::vecteur*, short int)
/usr/include/giac/gen.h:301: note: giac::gen::gen(const giac::vecteur&, short int)
/usr/include/giac/gen.h:300: note: giac::gen::gen(const giac::identificateur&)
/usr/include/giac/gen.h:299: note: giac::gen::gen(const giac::gen&)
/usr/include/giac/gen.h:298: note: giac::gen::gen(const std::complex<double>&)
/usr/include/giac/gen.h:297: note: giac::gen::gen(const giac::gen&, const giac::gen&)
/usr/include/giac/gen.h:296: note: giac::gen::gen(double, double)
/usr/include/giac/gen.h:295: note: giac::gen::gen(int, int)
/usr/include/giac/gen.h:294: note: giac::gen::gen(double)
/usr/include/giac/gen.h:293: note: giac::gen::gen(__mpz_struct (*)[1])
/usr/include/giac/gen.h:290: note: giac::gen::gen(const __mpz_struct (&)[1])
/usr/include/giac/gen.h:289: note: giac::gen::gen(longlong)
/usr/include/giac/gen.h:288: note: giac::gen::gen(size_t)
/usr/include/giac/gen.h:287: note: giac::gen::gen(int)
/usr/include/giac/gen.h:286: note: giac::gen::gen(void*, short int)
/usr/include/giac/gen.h:285: note: giac::gen::gen()
tryit.cc:7: error: no matching function for call to ‘factor(giac::gen&)’
/usr/include/giac/gausspol.h:127: note: candidates are: bool giac::factor(const giac::polynome&, giac::polynome&, giac::factorization&, bool, bool, bool, const giac::gen&)
/usr/include/giac/sym2poly.h:55: note: giac::gen giac::factor(const giac::gen&, bool, const giac::context*)
/usr/include/giac/sym2poly.h:57: note: giac::gen giac::factor(const giac::gen&, const giac::identificateur&, bool, const giac::context*)
/usr/include/giac/sym2poly.h:58: note: giac::gen giac::factor(const giac::gen&, const giac::gen&, bool, const giac::context*)
[/code]
De ce que je comprends, le contructeur de structure generique de giac à partir d'une simple chaine n'existe plus.
Est ce normal, docteur ?
Je précise que je travaille sous Linux/Lenny et que j'ai installé de .deb fourni sur le site, avec les bibliothèques annexes fournies par Debian.
Entre temps je compile giac à partir des sources pour voir si ça change quelque chose, mais c'est long sur un vieux pentium.

Cordialement
Dominique MICOLLET[/list]