Page 1 sur 1

g++-5 et paquet debian

Publié : lun. nov. 14, 2016 2:07 pm
par frederic han
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.

Re: g++-5 et paquet debian

Publié : mar. nov. 15, 2016 8:19 am
par parisse
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.

Re: g++-5 et paquet debian

Publié : mer. nov. 16, 2016 9:21 am
par frederic han
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