Problème pour compiler un projet sous Linux

Problème pour compiler un projet sous Linux - C++ - Programmation

Marsh Posté le 10-04-2009 à 14:13:06    

Bonjour,
 
Je suis à la recherche d'une bonne âme pour m'aider à avancer dans la compilation d'un programme pour linux. Le propgramme est fondé sur le projet GnuGo, qui est développé en C et, d'après ce que j'ai compris, qui utilise automake. Je suis parvenu à recompiler ce programme en utilisant KDevelop, mais je n'arrive plus à rien une fois modifié.
 
Mon but est :
 
- d'ajouter un fichier source en C contenant une bibliothèque de fonctions internes au programme.
- d'ajouter des fonctions externes au programmes, qui sont incluses dans un autre projet écrit en c++.
 
Je suis parvenu à compiler l'ensemble avec visual studio, mais je n'arrive à rien avec les outils linux. Je suis sous ubuntu, et je ne connais pas grand chose à l'environnement.
 
L'ensemble du code que je souhaite compiler est disponible ici : http://code.google.com/p/goia/source/browse/#svn/trunk

Reply

Marsh Posté le 10-04-2009 à 14:13:06   

Reply

Marsh Posté le 10-04-2009 à 14:36:46    

Modifie les Makefile.am qui vont bien.

Reply

Marsh Posté le 10-04-2009 à 15:08:22    

Tu as l'adresse d'un tuto qui m'explique comment faire ?

Reply

Marsh Posté le 12-04-2009 à 17:35:51    

J'ai essayé de comprende le fonctionnement des autotools, et j'ai pas mal progressé. Néanmoins, ça ne marche toujours pas. Désormais, lorsque je lance le build, il compile correctement la bibliothèque C++, mais arrivé à la fonction principale qui appelle les fonctions de cette bibliothèque, je reçois une série d'erreurs toutes relatives au contenu de la bibliothèqe en question. J'ai un peu de mal à comprendre pourquoi ça arrive compte tenu du fait que ces fonctions ont déjà été compilées... :??:
 

Code :
  1. ../goia/.libs/libgoia.a(GnuGoia.o): In function `__static_initialization_and_destruction_0':
  2. /usr/include/c++/4.3/iostream:77: undefined reference to `std::ios_base::Init::Init()'
  3. /usr/include/c++/4.3/iostream:77: undefined reference to `std::ios_base::Init::~Init()'
  4. ../goia/.libs/libgoia.a(GnuGoia.o): In function `_Alloc_hider':
  5. /usr/include/c++/4.3/bits/basic_string.h:260: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_S_empty_rep_storage'
  6. ../goia/.libs/libgoia.a(GnuGoia.o): In function `__static_initialization_and_destruction_0':
  7. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:10: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
  8. ../goia/.libs/libgoia.a(GnuGoia.o): In function `Repro_mutate':
  9. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:26: undefined reference to `std::cout'
  10. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:26: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
  11. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:26: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
  12. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:26: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
  13. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:28: undefined reference to `std::cout'
  14. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:28: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
  15. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:29: undefined reference to `std::cout'
  16. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:29: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
  17. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:29: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
  18. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:29: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
  19. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:29: undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
  20. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:30: undefined reference to `std::cout'
  21. /home/ernest/Documents/gnugo-3.8/goia/GnuGoia.cpp:30: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'

Reply

Marsh Posté le 13-04-2009 à 08:57:46    

Ok, m'en suis sorti par un autre moyen (sans bibliothèque, en incluant tout dans le projet directement).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed