2010-12-06 5 views
11

Ich bin ein Neuling und ich habe ein Problem! Ich muss mit einem C++ Code arbeiten und ich weiß nicht, wie man es importiert und wie man es auf eclips kompiliert (ich kompilierte es über die Befehlszeile). Der Code hat eine besondere Struktur, und es wird auf diese Weise organisiert:Eclipse C++ Wie man mit vorhandenem Makefile arbeitet

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) 

sicher sein, dass Sie mein Problem verstehen ... (sicher ... :))

die erste configure-Datei :

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

und die erste Make-Datei ist

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

dies die Make-Datei ist für die gesamte Bibliothek

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

ein Beispiel für configure-Datei (die innerhalb 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"; 

kompilieren ohne Eclipse ist einfach

  1. Typ /.configure im Ordner lib
  2. Typ machen
  3. gehen Sie in den Anwendungsordner
  4. Typ configure
  5. Typ

meine Frage ist .... in Eclipse

  • führen Sie das Programm machen ??? Ich importierte die drei mit Import/Import bestehenden Code als Makefile-Projekt, aber jetzt weiß ich nicht, wie es kompilieren. Könntest du mir bitte helfen? es ist wichtig!

    vielen Dank gabriele

  • +4

    +1 für die wohlgeformt und formatierte Frage für eine Person, mit 6 rep. (: –

    +0

    @Kiril: Ich stimme zu – neuro

    Antwort

    1

    Sie das Richtige getan zu haben von „Import vorhandenen Code als Makefile-Projekt“ verwenden. Jetzt Eclipse wissen, dass es Make aufrufen und Makefile verwenden muss. Aber Ihr Build-Prozess wird nicht nur von make gesteuert.

    Eine Lösung besteht darin, ein Makefile zu schreiben, das all Ihre Build-Schritte aufruft. Wie etwas:

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

    MY2C

    Edit:

    ich keine Eklipse installiert zur Zeit haben, so kann ich Ihnen Schritte nicht senden detaillierte ... sorry

    +0

    @gabriele: das ist der richtige Weg. StackOverflow unterscheidet sich von anderen Forum, wie es gut geschriebene Fragen und Antworten betont. Der Weg ist, Fragen/Antworten zu kommentieren und sie bei Bedarf zu bearbeiten Sie erhalten gut geschriebene und korrekte Antworten, nicht mit vielen Kommentaren/Antworten/Antworten ... – neuro

    Verwandte Themen