Witam. Mam problem z instalacją, jak w temacie. Korzystałem z tutoriala:
, niestety wyrzuca mi błędy w programie cmake (" The C++ compiler "C:/MinGW/bin/g++.exe" is not able to compile a simple
test program."). Czy ma ktoś może pomysł na rozwiązanie problemu lub znacie może jakiś sprawdzony tutorial?
nie chce mi sie zalaczonego filmiku ogladac. W cmake jesli uzywasz gui zaznacz WITH_QT
niestety nie pomogło
Z cmake sobie poradziłem. Jednak, gdy kompiluję bibliotekę w konsoli wpisując "mingw32-make" (tutorial 5 minuta 20 sekunda) otrzymuję komunikat, że nazwa nie jest rozpoznawalna jako polecenie itd. Jak sobie z tym poradzić?
Dodaj do zmiennej systemowej PATH folder zdaje się że bin z mingw w którym jest mingw32-make.exe.
dodałem, pomogło:)
Sytuacja wygląda następująco: przeszedłem do konfiguracji QT, dodałem w pliku z test1.pro linijki
INCLUDEPATH += "C:\opencv24\opencv_bin\install\include"
oraz LIBS += "C:\opencv24\opencv_bin\bin\ *.dll"
W pliku main.cpp mam napisany program testowy, podczas kompilacji wyrzuca mi błąd: "error: C:\opencv24\opencv_bin\bin *.dll: Invalid argument . Brak pliku: ". Pod podaną ścieżką znajdują się pliki .dll. Z góry dziękuje za pomoc.
- w pliku pro backslash ma specjalne znacznie. Użyj normalnego slash'a jako separatora nazw katalogów.
- nie tak dodaje się biblioteki! Nie dodajesz dll, ale pliki *.lib albo *.so (zależnie od kompilatora/systemu) i to raczej bez rozszerzenia.
- odradzam używać wild-cards (
*
) przy dodawaniu bibliotek.
Tak jakk @MarekR22 napisał. Dodam tylko że biblioteki dodaje się tak:
LIBS += -L"C:/opencv24/opencv_bin/bin" -lflaga_biblioteki
Biblioteki dodałem, teraz wyrzuciło mi błędy typu: "skipping incompatible C:\Qt\Qt5.0.1\5.0.1\mingw47_32\lib/libQt5Core.a when searching for -lQt5Core"
oraz "skipping incompatible C:\Qt\Qt5.0.1\5.0.1\mingw47_32\lib/Qt5Core.dll when searching for -lQt5Core"
nie bardzo wiem co z tym zrobić.
QT 5.0.1-mingw47 , ze strony http://qt-project.org/downloads
mam system 64 bitowy a z tego co czytam to QT nie ma póki co 64 bitowej wersji pod windowsa
A jak myślicie, czy jak pod Linuksem bym spróbował to rozwiąże problem?
Pod Linux-em zapewne będzie to o wiele prostsze. Wystarczy jak będziesz instalował ze standardowych repozytoriów odpowiednie paczki, a reszta pójdzie automatem.
W menadżerze pakietów poszukaj, czy przypadkiem, nie ma gotowej paczki łączącej Qt z openCv (nie zdziwiłbym się gdyby była).
Jeśli taka paczka zawiera plik prf to skorzystanie z openCV pod Qt będzie banalnie proste: CONFIG += <nazwa pliku prf>
.
Sprawdzę to na swojej maszynie wieczorem.
Postawie u siebie maszynę i zobaczę co uda mi się zrobić.
Zauważyłem, że nawet prosty program w C bez używania opencv wyrzuca podobne błędy, a przed kompilacją biblioteki było w porządku.
Pod Ubuntu instalujesz paczkę: libopencv-dev. Zależności powinny zainstalować wszystkie inne potrzebne paczki.
Niestety nie ma paczki dla Qt, więc bibliotekę trzeba dodać samemu, ale nadal jest to maksymalnie proste.
W pliku pro dodaj
unix {
CONFIG += link_pkgconfig
PKGCONFIG += opencv
}
I to wystarczy.
Pierwsza linka zabezpiecza, że kolejne wpisy będą działać tylko pod systemami unixowymi i ich pochodnymi.
Druga linijka informuje qmake by użył narzędzia systemowego 'pkg-config'.
Trzecia linijka wskazuje dla jakiej biblioteki mają być wykryta ustawienia za pomocą narzędzia 'pkg-config' (tak jest bezpieczniej jeśli ktoś ma inaczej skonfigurowanego Debiana).
zainstalowałem QT pod fedore, podczas kompilacji programu typu "hello world" dostaje komunikat że żaden kompilator nie może wygenerować kodu dla tej wersji QT. Szukać innego kompilatora?
co ci zwraca komenda: pkg-config --cflags --libs opencv
?
"Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found"
Ale nie pobierałem jeszcze opencv, nie mogę skompilować prostego programu w qt.
Zainstalowanie paczki libqt4-dev
za pomocą repozytoriów powinno doprowadzić do instalacji wszystkiego co jest potrzebne, łącznie z właściwym kompilatorem (g++).
Jeśli chodzi o linuxa to jestem zielony, jak należy zainstalować paczkę "libqt4-dev_4.3.4_i386.deb" ?
pod dystrybucjami debianowymi (np ubuntu) to wygląda tak: sudo apt-get install libqt4-dev
.
Ty masz Fedora, która jest pochodną Red Hat więc, powinno to wyglądać tak: sudo yum install libqt4-dev
(nie jestem pewien bo używam więcej Debian'a niż Red Hat'a).
edit pod fedora nazwa paczki jest inna: `yum install qt-devel`
zainstalowałem paczkę, lecz w dalszym ciągu otrzymuję ten sam komunikat.
Pod Fedorą zrób:
yum install qt-x11 qt-devel
to takie minimum.
Wszystkie paczki które mają coś wspólnego możesz podglądnąć poprzez:
yum search qt
to tak na przyszłość jakbyś był ciekaw co można doinstalować.
Otrzymałem komunikat, że pakiet jest zainstalowany w najnowszej wersji.
Poradziłem sobie z kompilatorem. Potrzebuję teraz pomocy z instalacja opencv, mógłby ktoś dokładniej wyjaśnić jak to wygląda?
ok, dałem sobie radę:) dzięki za pomoc:)