2010-12-06 46 views
11

Je suis un débutant et j'ai un problème! Je dois travailler avec un code C++ et je ne sais pas comment l'importer et comment le compiler sur eclips (je l'ai compilé en ligne de commande). Le code a une structure particulière et elle est organisée de la façon suivante:Eclipse C++ Comment travailler avec makefile existant

repos____lib____configure (execute the configure file inside the libraries folders) 
        I   I___makefile (execute the make file inside the libraries folders, 
                 requires make/make.def) 
     I   I___ib1____.cpp 
     I   I   I____.h 
     I   ...   I____configure (it requires make/configure_lib and 
                   make/configure_includes 
     I   ...   I____makefile (generated by configure) 
     I   I___lib2___.... 
     i   I___....... 
     I   I___libn____.cpp 
     i      I____.h 
     i      I____configure 
     i      I____makefile (generated by configure) 
     I 
     I___make(folder)__bashrc (are set the some environment variables) 
     I        I__configure_bin 
     I        I__configure_includes 
     I        I__configure_lib 
     I        I__make.def (are set all the include path and library path used 
     I               in the configure file) 
     I___application__main.cpp 
            I__configure 
            I__makefile(generated by the configure file) 

pour être sûr que vous comprenez mon problème ... (sûr ... :))

le premier fichier de configuration est :

cd lib1; ./configure 
cd ../lib2; ./configure 
..... 
.... 
cd ../libn; ./configure 
cd 

et la première makefile est

include /media/Dati/WORKHOME/repos/make/make.def 

c'est le makefile pour toute la bibliothèque

lib: 
    make -C lib1 
    make -C lib2 
    make -C libn 

un exemple de fichier de configuration (l'un à l'intérieur lib1):

#!/usr/bin/perl 

$INC = '$(OPENCVINC) $(FLTKINC) $(DC1394V2INC)'; ##<-DEFINED IN /make.def 
$LIB = '$(OPENCVLIB) $(FLTKLIB) $(DC1394V2LIB)';  ##################### 

#------------------------------------------------------------------------------- 

require '/media/Dati/WORKHOME/repos/make/configure_lib'; 
print "Created Makefile.\n"; 

# this will create a include file for the whole directory, 
# using the template <dirname>.h.templ 
require '/media/Dati/WORKHOME/repos/make/configure_includes'; 
print "Created $libname.h\n"; 

compilez sans éclipse est simple

  1. Type /.configure dans le dossier lib
  2. tapez make
  3. entrez dans le dossier de l'application
  4. Type ./configure
  5. tapez make
  6. exécuter le programme

ma question est .... dans Eclipse ??? J'ai importé les trois avec import/import de code existant en tant que projet makefile mais maintenant je ne sais pas comment le compiler. pourriez-vous m'aider s'il vous plaît? c'est important!

merci beaucoup gabriele

+4

+1 pour le bien formé et une question formulée pour une personne, avec 6 rep. (: –

+0

@Kiril: Je suis d'accord – neuro

Répondre

1

Vous avez fait la bonne chose en utilisant « le code import existant comme projet makefile ». Eclipse sait maintenant qu'il doit appeler make et utiliser votre makefile. Mais votre processus de construction n'est pas seulement motivé par make.

Une solution consiste à écrire un fichier Make qui appelle toutes vos étapes de construction. Quelque chose comme:

all: 
    cd dir1 && ./configure && make 
    cd dir2 && ./configure && make 
    etc. 

MY2C

Edit:

Je ne captez pas éclipse installé, donc je ne peux pas vous envoyer DETAILLE pas ... désolé

+0

@gabriele: c'est la bonne façon StackOverflow est différent des autres forums car il met l'accent sur les questions et les réponses écrites, de manière à commenter les questions/réponses et à les éditer si nécessaire. vous vous retrouvez avec des réponses bien écrites et correctes, pas avec beaucoup de commentaires/réponses/réponses ... – neuro