Anfängerfrage: Zusätzliche Includeverzeichnisse
-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
Anfängerfrage: Zusätzliche Includeverzeichnisse
Guten Tag,
ich arbeiten mti openCV, bin aber mit der MFC maximal unzufrieden und will daher auf QT wechseln. Leider gibt es kaum Tutorials für QT mit Visual Studio, so dass ich im QT Designer ein paar Tuts gemacht haben, die aber nicht 1:1 auf Visual Studio dann so laufen...
DAher will cih nun komplett auf den QT Creator wechseln. openCV habe ich bereits für MinGW kompilieren können, aber ich weiß nun leider nicht wo ich meine Includeverzeichnisse angebe? Unter Visual Studio musste ich in den Projekteinstellungen immer unter "Linker / Eingabe: Zusätzliche Abhängigkeiten" und unter "C/C++, Allgemein: Zusätzliche Includeverzeichnisse" angeben...
Wie kann cih die entsprechenden Einstellungen im QT Creator / minGW einstellen??
Dank euch
ich arbeiten mti openCV, bin aber mit der MFC maximal unzufrieden und will daher auf QT wechseln. Leider gibt es kaum Tutorials für QT mit Visual Studio, so dass ich im QT Designer ein paar Tuts gemacht haben, die aber nicht 1:1 auf Visual Studio dann so laufen...
DAher will cih nun komplett auf den QT Creator wechseln. openCV habe ich bereits für MinGW kompilieren können, aber ich weiß nun leider nicht wo ich meine Includeverzeichnisse angebe? Unter Visual Studio musste ich in den Projekteinstellungen immer unter "Linker / Eingabe: Zusätzliche Abhängigkeiten" und unter "C/C++, Allgemein: Zusätzliche Includeverzeichnisse" angeben...
Wie kann cih die entsprechenden Einstellungen im QT Creator / minGW einstellen??
Dank euch
-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
starte mal den Creator , klick da links auf Help und gib "qmake" ein, gleich der erste Punkt sollte dir weiterhelfen können. Mal eine exemplarisches .pro von mir, dann siehst du was (ich, Linux) meist benutze:
Code: Alles auswählen
# Verzeichnisse die zusätzlich nach includes durchsucht werden sollen (zB für zus. Libs)
INCLUDEPATH += /pfad/1 /pfad/2
# Bibliotheken die eingebunden werden sollen
LIBS += -L/pfad/3 # -L/pfad/3 ist ein zusätliches Verzeichnis das nach libs durchsucht wird falls sie nicht im Pfad stehen sollten
LIBS += -lname # -l ist der Name der lib: das expandiert zu libname.so (in linux, in win warscheinlich name.dll)
# name der ausführbaren datei/ der lib
TARGET = mss_logger
# ich will ne datei
TEMPLATE = app # oder lib oder subdir
# debug mode, nutze QT variable für qt abhängigkeiten
CONFIG += debug qt warn_on
# benutze von QT: gui, core, xml und network module
QT += xml network # gui und core sind per default drin
# meine dateien
HEADERS += den.h \
und.h \
denauch.h
SOURCES += main.cpp \
den.cpp \
und.cpp \
denauch.cpp
FORMS +=
OTHER_FILES +=
# räum auf beim erstellen von dateien
DESTDIR = ./bin # dahin kommt die ausführbare datei
MOC_DIR = ./moc # hierher bitte die moc_ dateien
OBJECTS_DIR = ./obj # hierher die objekte
RCC_DIR = ./resources # dahin das ressource.cpp
UI_DIR = ./ui # hierhin die ui dateien-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
Servus,
hab mir Dein File nochmal durchgelesen, mit -L hab ichs net hinbekommen, ist immer abgestüzt... Hab es sowohl mit:
-L "C:\OpenCV21\release\bin"
als auch mit
-L C:\OpenCV21\release\bin
und auch mit
-LC:\OpenCV21\release\bin versucht, ging alles net
hab nun mal den DLL Pfad in meine PATH geadded und voila es läuft, Dank Dir...
meine .pro Datei sieht nun so aus:
EDIT:
-LC:/OpenCV21/release/bin
So läufts!! Sind somit auch meine anderen libs einträge falsch gesetzt??
DANKE
Edit2: Lief doch so nicht.. Habs nun wieder in den PATH geschrieben, so gings;-)
hab mir Dein File nochmal durchgelesen, mit -L hab ichs net hinbekommen, ist immer abgestüzt... Hab es sowohl mit:
-L "C:\OpenCV21\release\bin"
als auch mit
-L C:\OpenCV21\release\bin
und auch mit
-LC:\OpenCV21\release\bin versucht, ging alles net
hab nun mal den DLL Pfad in meine PATH geadded und voila es läuft, Dank Dir...
meine .pro Datei sieht nun so aus:
Code: Alles auswählen
#-------------------------------------------------
#
# Project created by QtCreator 2010-11-05T10:04:00
#
#-------------------------------------------------
QT += core gui
TARGET = TestProject
TEMPLATE = app
INCLUDEPATH += C:\OpenCV21\include\opencv
LIBS += C:\OpenCV21\release\lib\libcv210.dll.a \
C:\OpenCV21\release\lib\libcvaux210.dll.a \
C:\OpenCV21\release\lib\libcxcore210.dll.a \
C:\OpenCV21\release\lib\libcxts210.dll.a \
C:\OpenCV21\release\lib\libhighgui210.dll.a \
C:\OpenCV21\release\lib\libml210.dll.a \
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
-LC:/OpenCV21/release/bin
So läufts!! Sind somit auch meine anderen libs einträge falsch gesetzt??
DANKE
Edit2: Lief doch so nicht.. Habs nun wieder in den PATH geschrieben, so gings;-)
Nimm mal deinen letzten Versuch und statt "bin" lieber "lib" ... dann sollte es tun oder halt den "Windowsstyle" einfach kompletter Pfad angeben und dabei trozdem "/" statt "\" also :
LIBS += C:/OpenCV21/release/lib/libcv210.dll.a \
C:/OpenCV21/release/lib/libcvaux210.dll.a \
C:/OpenCV21/release/lib/libcxcore210.dll.a \
C:/OpenCV21/release/lib/libcxts210.dll.a \
C:/OpenCV21/release/lib/libhighgui210.dll.a \
C:/OpenCV21/release/lib/libml210.dll.a
LIBS += C:/OpenCV21/release/lib/libcv210.dll.a \
C:/OpenCV21/release/lib/libcvaux210.dll.a \
C:/OpenCV21/release/lib/libcxcore210.dll.a \
C:/OpenCV21/release/lib/libcxts210.dll.a \
C:/OpenCV21/release/lib/libhighgui210.dll.a \
C:/OpenCV21/release/lib/libml210.dll.a
-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
Das Programm startet dann trotzdem nicht .. ihc weiß net so recht wieso, sobald ich es in den Systempath adde gehts..
Ist aber ach net schlimm IMHO
Dank Dir;-)
Was mir wichtiger wäre: Mien Programm läuft nun für eine Datei, die ich mit dem QFileDialog aufmache, ich will das Programm aber für z.B. ALLE Jpeg Dateien eines Ordners machen...
Kannst Du mir mal nen Tipp geben wie ich das mache? In der MFC war das immer ziemliches gefrimel!;)
DANKE
Ist aber ach net schlimm IMHO
Dank Dir;-)
Was mir wichtiger wäre: Mien Programm läuft nun für eine Datei, die ich mit dem QFileDialog aufmache, ich will das Programm aber für z.B. ALLE Jpeg Dateien eines Ordners machen...
Kannst Du mir mal nen Tipp geben wie ich das mache? In der MFC war das immer ziemliches gefrimel!;)
DANKE
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
-
pizza4ever
- Beiträge: 21
- Registriert: 4. November 2010 23:17
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Du musst zwischen Linken und Laufzeit unterscheiden. Eine Bibliothek muss zur Laufzeit bekannt sein, unter Windows geht das mit der PATH-Umgebungsvariablen. Dort das lib-dir von OpenCV eintragen, dann sollte das Programm starten (das ist übrigens kein Absturz==Laufzeitfehler, da das Programm nopch gar nicht laufen kann wenn eine lib nicht gefunden wird!).
Um das Programm überhaupt linken zu können, braucht der Linker die nötigen Infos zu Name und Pfad der lib, dies geschieht mit LIBS +=.
Um das Programm überhaupt linken zu können, braucht der Linker die nötigen Infos zu Name und Pfad der lib, dies geschieht mit LIBS +=.