g++-5 et paquet debian

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

g++-5 et paquet debian

Message par frederic han » lun. nov. 14, 2016 2:07 pm

Salut bernard,

lorsque j'essaye de compiler un mini exemple avec ton paquet debian i386 1.2.2-101

Code : Tout sélectionner

// -*- compile-command: "g++ -g pgcd.cc -lgiac -lgmp" -*-
#include <giac/giac.h>

using namespace std;
using namespace giac;

int main(){
  context ct;
  cout << "Enter two polynomials ";
  gen a,b;
  cin >> a >> b;
  string s("6");
  gen c(s,&ct);
  cout << "PGCD is " << _gcd(makesequence(a,b),&ct) << endl;
  return 0;
}
j'ai avec g++5.0 des problemes de references:

Code : Tout sélectionner

g++ pgcd.cc -lgiac
/tmp/ccxC2f0X.o : Dans la fonction « main » :
pgcd.cc:(.text+0xcb) : référence indéfinie vers « giac::gen::gen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, giac::context const*) »
collect2: error: ld returned 1 exit status
alors que:

Code : Tout sélectionner

g++-4.9 pgcd.cc -lgiac
passe bien.

parisse
Messages : 5744
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: g++-5 et paquet debian

Message par parisse » mar. nov. 15, 2016 8:19 am

Au vu de l'erreur, il me semble que c'est la STL qui n'utilise pas les memes noms internes d'ou la reference manquante au link. A mon avis, il faut compiler giac avec un gcc compatible. Ou peut-etre utiliser un flag -std= qui n'utilise pas le standard c++11.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: g++-5 et paquet debian

Message par frederic han » mer. nov. 16, 2016 9:21 am

en ajoutant cela au CXXFLAGS on peut utiliser des gcc plus recents que ceux avec laquelle la libraire giac de ton paquet a ete compilee:

Code : Tout sélectionner

-D_GLIBCXX_USE_CXX11_ABI=0

Répondre