Kdevelop findet open CV headerfiles nicht

Dieses Thema im Forum "C/C++" wurde erstellt von Id3fix, 08.05.2014.

  1. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    Hallo,

    Versuche auf Kdevelop umzusteigen. "Hello World" klappt auch.
    habe open CV heruntergeladen und kompiliert. Die headerfiles liegen auch in
    /usr/local/include/opencv2/

    wenn ich ein sample file z.b. drawing.cpp kompilieren wird im Quelltext inkludiert:

    Code:
    #include "opencv2/core/core.hpp"
    #include "opencv2/highgui/highgui.hpp"
    #include <stdio.h>
    using namespace cv;
    und dann gibt es den Fehler :
    undefined reference to `cv::Mat::zeros(int, int, int)'

    Wieso findet er die headerfiles nicht?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Er findet die Header-Dateien, aber die Library dazu nicht. Ist der Pfad, in dem sich die zugehörige .so-Datei befindet im Library-Path? Wird -lopencv_core als Compiler-Parameter genutzt?
     
  4. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    Wie kann ich das überprüfen (sorry für meine Unwissenheit....)
     
  5. #4 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Schau in den Projekt-Einstellungen nach. Dort müsste als Compiler-Flag -L/pfad/zur/opencv/lib sowie -lopencv_core verwendet werden.
     
  6. #5 tgruene, 08.05.2014
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Eigentlich ist das ein Linker-Flag, kein Compiler-Flag. Die IDEs, die ich benutze, unterschreiden das,;ich vermute, KDevelop auch.
     
  7. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    Also ich klicke rechts auf Projekt ==> Einstellungen öffnen
    und dort finde ich nirgens die Möglichkeit Compiler bzw. Linker-Flags zu setzen....
     
  8. #7 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Wenn ich das im Web richtig sehe (ich nutze KDevelop schon seit Version 2 nicht mehr), geht das mittlerweile über Umgebungsvariablen wie CXXFLAGS. Diese kann man wohl in Project->Project Option->Build Option->Make setzen.
     
  9. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    Welche Entwicklungsumgebung würdest Du mir denn empfehlen?
     
  10. #9 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Einen einfachen Editor, wenn du noch am Lernen bist, damit du auch mitbekommst wie die Compiler-Befehle zustande kommen, wie Makefiles funktionieren u.ä.. Das ist zwar etwas mehr Aufwand, den eine IDE einem halt abnimmt, aber zum Verständnis der Programmierung imo der richtige Weg. Denn im Normalfall kann man auch bei IDEs im schlimmsten Fall einfach die Automake-Informationen direkt in den Projekt-Dateien bearbeiten, wenn mal keine passende Einstellung existiert oder man sie einfach nicht findet.

    Code::Blocks wird auch immer wieder hoch gelobt. Ich selbst bevorzuge für kleinere Projekte zumeist Emacs, aber der ist sehr gewöhnungsbedürftig. Für grössere Projekte verwende ich NetBeans.

    Empfehlen würde ich dennoch keine, denn es ist reine Geschmackssache. Jeder hat andere Ansprüche an eine IDE. Der eine will unbedingt alles mit Shortcuts bedienen können, der andere will lieber möglichst viel am Projekt via Kontext-Menüs usw. ändern können. Wieder der nächste ist vom Auto-Complete genervt, während andere nicht darauf verzichten wollen. Probiere einfach mal verschiedene aus und arbeite dich dann in die ein, die dir am ehesten zusagt.
     
  11. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    ok, klingt einleuchtend.
    Dazu müsste ich das aber dennoch mal in der Konsole zum Laufen bringen...
    Code:
    g++ drawing.cpp -I/usr/local/lib -include/usr/local/lib/libopencv_core.so -include/usr/local/lib/libopencv_highgui.so
    läuft und läuft und schmeißt nur Fehler ala:
    Code:
    /usr/local/lib/libopencv_core.so:115:402: warning: null character(s) preserved in literal [enabled by default]
    /usr/local/lib/libopencv_core.so:115:427: warning: null character(s) ignored [enabled by default]
    /usr/local/lib/libopencv_core.so:115:6: error: stray ‘\300’ in program
    /usr/local/lib/libopencv_core.so:115:6: error: stray ‘\34’ in program
    /usr/local/lib/libopencv_core.so:115:433: warning: null character(s) ignored [enabled by default]
    /usr/local/lib/libopencv_core.so:115:439: warning: null character(s) ignored [enabled by default]
    
    hatt er mit dem Flag jetzt nicht die benötigten lib?
     
  12. #11 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Offenbar hat er die benötigte Bibliothek jetzt, aber in dieser werden Fehler ausgelöst. Erfahrungsgemäss ist dafür zumeist ursächlich der erste Fehler, der ausgelöst wird. Der Rest sind dann oft Folgefehler, die durch diesen verursacht werden.

    Aufgrund der Meldung "error: stray ‘\300’ in program" würde ich aber darauf tippen, dass sich da irgendwelche unsichtbaren oder falsch codierten Zeichen in deine Source-Datei eingeschlichen haben (schräge Anführungszeichen anstelle normaler u.ä.) oder dass die $LANG-Einstellung des Terminals falsch sind. Stell mal sicher, dass deine LC_*-Umgebungsvariablen und $LANG auf den Wert POSIX gesetzt sind. Ausserdem sollte ein 'file --mime-encoding /deine/source/datei' anzeigen, dass die Datei in "us-ascii" vorliegt. Ist dies nicht der Fall, dann ändere dies.
     
  13. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    Code:
    file --mime-encoding drawing.cpp 
    liefert

    Code:
    drawing.cpp: us-ascii
    und

    Code:
    locale -a
    liefert

    Code:
    C
    C.UTF-8
    de_AT.utf8
    de_BE.utf8
    de_CH.utf8
    de_DE.utf8
    de_LI.utf8
    de_LU.utf8
    en_AG
    en_AG.utf8
    en_AU.utf8
    en_BW.utf8
    en_CA.utf8
    en_DK.utf8
    en_GB.utf8
    en_HK.utf8
    en_IE.utf8
    en_IN
    en_IN.utf8
    en_NG
    en_NG.utf8
    en_NZ.utf8
    en_PH.utf8
    en_SG.utf8
    en_US.utf8
    en_ZA.utf8
    en_ZM
    en_ZM.utf8
    en_ZW.utf8
    POSIX
    müsste passen, oder?
     
  14. #13 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Welche locales installiert sind, ist dafür irrelevant. Wichtig sind die Spracheinstellungen des Terminals, die du mit 'printenv' einsehen kannst, da sie mittels Umgebungsvariablen gesetzt werden.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. Id3fix

    Id3fix Grünschnabel

    Dabei seit:
    08.05.2014
    Beiträge:
    8
    Zustimmungen:
    0
    so?
    Code:
    printenv | grep LANG
    LANG=de_DE.UTF-8
    GDM_LANG=de_DE
    LANGUAGE=de_DE
     
  17. #15 bitmuncher, 08.05.2014
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    Setze $LANG auf den Wert "C" und gleichermaßen $LC_ALL.
     
Thema:

Kdevelop findet open CV headerfiles nicht

Die Seite wird geladen...

Kdevelop findet open CV headerfiles nicht - Ähnliche Themen

  1. KDevelop 5: Erste Beta vorgestellt

    KDevelop 5: Erste Beta vorgestellt: Nach einem Jahr Arbeit hat Milian Wolff aus dem KDevelop-Projekt die Verfügbarkeit der ersten Betaversion der kommenden Generation der Umgebung...
  2. KDevelop 4.6.0 freigegeben

    KDevelop 4.6.0 freigegeben: Die Entwicklungsumgebung KDevelop ist in einer neuen Version 4.6 verfügbar, die unter anderem bessere Unterstützung für den Debugger GDB bietet....
  3. KDevelop 4.4 veröffentlicht

    KDevelop 4.4 veröffentlicht: Die Entwicklungsumgebung KDevelop bringt in Version 4.4 eine Reihe von Verbesserungen und Erweiterungen. Die herausragendste Funktion stellt dabei...
  4. KDevelop 4.3 unterstützt C++11

    KDevelop 4.3 unterstützt C++11: Die Entwicklungsumgebung KDevelop bringt in Version 4.3 eine Reihe von Verbesserungen und Erweiterungen, die das Entwickeln in C, C++ und PHP noch...
  5. KDevelop 4.2 freigegeben

    KDevelop 4.2 freigegeben: Die Entwicklungsumgebung KDevelop bringt in Version 4.2 eine Reihe von Verbesserungen und Erweiterungen, die das Entwickeln in C, C++ und PHP noch...