Einrichten eines plattformübergreifenden C ++ - Projekts in Eclipse mit plattformübergreifenden Bibliotheken

8

Ich arbeite an einem plattformübergreifenden C ++ - Projekt mit acht weiteren Leuten, das die folgenden Bibliotheken benutzt:

  • OpenCV-Bibliothek
  • Boost C ++ Bibliothek

Da das Projekt plattformübergreifend ist, haben sich alle Benutzer darauf geeinigt, plattformspezifischen Code nicht zu verwenden. Um die Dinge so einfach wie möglich zu halten, verwenden alle Benutzer Eclipse als ihre IDE. Einige werden jedoch Eclipse für Windows verwenden, während andere Eclipse für Linux verwenden.

Da das Projekt auf SVN gehostet wird, möchten wir Konflikte mit verschiedenen Konfigurationsdateien vermeiden (wie make-Dateien, Eclipse-Projektdateien usw.), die gemeinsam genutzt werden. Wir möchten auch so viel Konfigurationsdateien wie möglich über SVN teilen, um die Konfiguration so einfach wie möglich zu halten.

Angenommen, alle Benutzer haben die Systemvariablen ordnungsgemäß konfiguriert und die erforderlichen Build-Tools (wie make, cmake usw.) installiert und ihre Eclipse-Einstellungen ordnungsgemäß konfiguriert (jedoch nicht die projektspezifischen Einstellungen).

>

Wie wird das Projekt einmal konfiguriert und welche Konfigurationsdateien sollen im Repository freigegeben werden, damit sowohl Windows- als auch Linux-Benutzer es kompilieren können, ohne die Konfigurationsdateien aus dem SVN-Repository zu ändern?

(Ich bin nicht auf der Suche nach der vollständigen Lösung, die speziell für die beiden genannten Bibliotheken funktionieren würde. Daher würde ich mir eine allgemeine Anleitung für Schritt-für-Schritt-Erklärungen wünschen, die es mir leicht machen würde, eine weitere Bibliothek hinzuzufügen.)

    
eold 28.09.2010, 10:08
quelle

2 Antworten

0

Allgemeine Diskussion:

Sie müssen Cygwin oder etwas ähnliches installieren, um die GNU Autotools Toolchain für Eclipse unter Windows verfügbar zu machen: Wie geht man mit Eclipse CDT + Cygwin um?

Sobald Ihre Toolchain, Eclipse, mit CDT- und SVN-Konnektoren auf Ihren Entwicklungsmaschinen bereit ist, gehen Sie die folgenden Schritte durch.

  1. Öffnen Sie Eclipse und wechseln Sie zu CDT: Klicken Sie auf Fenster- & gt; Öffnen Sie Perspective- & gt; Andere ... und wählen Sie C / C ++
  2. Wählen Sie: Eclipse- & gt; Datei- & gt; Neu- & gt; C ++ Projekt
  3. Projektname: Betrachter
  4. Wählen Sie: Projekttyp- & gt; GNU Autotools- & gt; Hello World C ++ Autotools Projekt
  5. Klicken Sie auf: Weiter
  6. Klicken Sie auf: Fertigstellen
  7. Klicken Sie mit der rechten Maustaste in den Projekt-Explorer: viewer- & gt; Projekt neu konfigurieren
  8. Klicken Sie auf: Konsole- & gt; Ausgewählte Konsole anzeigen unter & Globale CDT Global Build Console. Wenn die Ausgabe "autoreconf -i" nominal ist, fahren Sie mit Schritt 9 fort. Wenn Console Folgendes meldet: sh: autoreconf: Befehl nicht gefunden, fügen Sie den Pfad zum Befehl autoreconf zur Projekt-Build-Umgebung hinzu:
    1. Klicken Sie mit der rechten Maustaste in den Projekt-Explorer: viewer- & gt; Eigenschaften- & gt; C / C ++ Build- & gt; Umgebung- & gt; Hinzufügen ...
    2. Name: PFAD
    3. Wert: path_to_autoreconf: $ {env_var: PATH}
    4. Klicken Sie auf: OK
    5. Klicken Sie auf: Anwenden
    6. Gehen Sie zurück zu Schritt 8.
  9. Doppelklicken Sie auf: Projekt Explorer- & gt; viewer- & gt; src & gt; viewer.cpp
  10. Fügen Sie einen Code hinzu:

    enthält & lt; opencv / cv.h & gt;

    enthält & lt; opencv / highgui.h & gt;

    enthält & lt; cassert & gt;

    int main (int argc, char * argv []) {

    bestätigen (argc & gt; 1);

    CvMat * img = cvLoadImageM (argv 1 );

    cvNamedWindow ("Bild", CV_WINDOW_AUTOSIZE);

    cvShowImage ("Bild", img);

    cvWaitKey (0);

    gibt 0 zurück;

    }

  11. Doppelklicken Sie auf: Project Explorer- & gt; viewer- & gt; configurate.ac und geben Sie den folgenden Code unter AC_PROG_CXX ein.

      

    AC_CHECK_LIB ([opencv_core], [cvSetZero], [], [])

         

    AC_CHECK_LIB ([opencv_highgui], [cvShowImage], [], [])

         

    AC_CHECK_LIB ([boost_regex-mt], [regexecA], [BOOST_LIB_SUFFIX="- mt"], [BOOST_LIB_SUFFIX=""])

         

    AC_SUBST (BOOST_LIB_SUFFIX)

  12. Doppelklicken Sie auf: Project Explorer- & gt; viewer- & gt; src- & gt; Makefile.am und geben Sie den folgenden Code ein.  & gt;
      

    bin_PROGRAMS = Betrachter

         

    viewer_SOURCES = openCvFocusIssue.cpp

         

    viewer_LDFLAGS = -lboost_regex @ BOOST_LIB_SUFFIX @ -lopencv_core -lopencv_highgui

  13. Wiederholen Sie Schritt 8, autoreconf (Projekt neu konfigurieren)
  14. Klicken Sie auf: Projekt Explorer- & gt; Viewer
  15. Erstellen Sie ein Projekt, indem Sie auf den Hammer in der Symbolleiste klicken. Wenn Sie den Hammer nicht sehen, öffnen Sie Fenster-> Perspektive öffnen- & gt; Andere ... und wählen Sie C / C ++. Wenn C / C ++ nicht angezeigt wird, installieren Sie das CDT.
  16. Klicken Sie auf: Project Explorer - & gt; viewer und dann Ausführen - & gt; Ausführen, dann in der Anwendung Ausführen als Fenster - & gt; Lokale C / C ++, dann im Fenster Debugkonfigurationsauswahl starten - & gt; gdb / mi und drücken eingeben. Sie sollten Hallo Welt sehen.
  17. Beenden Sie Eclipse und navigieren Sie zum Viewer-Projektverzeichnis.
  18. Geben Sie in der Befehlszeile make dist
  19. ein
  20. Stellen Sie sicher, dass Sie eine viewer-1.0.tar.gz-Datei oder eine ähnlich bezeichnete Datei erhalten haben, und entfernen Sie sie dann: rm viewer-1.0.tar.gz
  21. Geben Sie in der Befehlszeile make clean
  22. ein
  23. An derselben Stelle make distclean.
  24. Navigieren Sie zu dem Arbeitsbereichsverzeichnis, das das Viewer-Projekt enthält.
  25. Verschieben Sie das gesamte Viewer-Verzeichnis in das Verzeichnis mit dem svn checkout, in das Sie das Viewer-Projekt einfügen möchten.
  26. Ändern Sie die Verzeichnisse dorthin, wo Sie gerade den Viewer verschoben haben.
  27. svn add viewer & amp; & amp; svn ci -m "Eclipse-Autotool-Projekt hinzugefügt"
  28. Öffnen Sie eclipse und stellen Sie sicher, dass Sie einen SVN-Connector installiert haben.
  29. Entfernen Sie das "viewer" -Projekt aus der Projekt-Explorer-Ansicht.
  30. Öffnen Sie die Eclipse und fügen Sie dieses SVN-Repository-Checkout zur Teamperspektive hinzu.
  31. Importieren Sie das Viewer-Projekt von Ihrem SVN-Repository aus.
  32. Wechsle zurück zur C / C ++ Perspektive und hab Spaß.
Alexander Patrikalakis 25.04.2013 10:39
quelle
0

Zwei Vorschläge:

  • Benutze cmake: Ich liebe dieses Werkzeug. Es gibt ein bisschen eine Lernkurve, aber Wenn Sie es richtig machen, wird das gesamte Projekt die cmake-Dateien enthalten und wenn eine Person es erstmal auscheckt, läuft cmake, um zu generieren ihre Makefiles (oder VC ++ - Projektdateien, usw.) mit all den verschiedenen Regeln für Linux oder Windows könnte brauchen.

oder

  • Checke eine grundlegende Konfiguration für das Projekt ein und füge diese Konfiguration dann der git / svn ignore hinzu, so dass niemand sie jemals wieder eincheckt. Wenn du dann zum ersten Mal auscheckst, musst du deine Konfiguration ausführen, aber danach wird nicht überschrieben.
RobC 03.12.2014 08:29
quelle