Après avoir compilé avec succès qt5.5.1 et opencv3.1.0, il existe aussi un problème (bouleversement!).Comment utiliser pkg-config en qt pour crosscompile
Permettez-moi de le dire en datail:
A.on mon Ubunutu PC, lors de la compilation des programmes qt avec OpenCV, j'ai généralement deux façons,
le premier est en IDE qt, j'ajouter deux supplémentaires lignes .pro
#.pro
CONFIG += link_pkgconfig
PKGCONFIG += opencv
le second est dans le terminal, la ligne de commande, par exemple:
g++ main.cpp -o main `pkg-config opencv --cflags --libs`
Je sais la raison pour laquelle je peux utiliser pkg-config, lorsqu'il est exécuté
echo $PKG_CONFIG_PATH
Je reçois:
:/usr/local/opencv-3.1.0/lib/pkgconfig:/usr/local/opencv-3.1.0/lib/pkgconfig:
b. Alors que pour crosscompile, comment puis-je utiliser pkg-config?
J'ai essayé de modifier le /home/lmk/.bashrc en ajoutant:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/newdisk/optnew/opencv-arm/lib/pkgconfig
export PKG_CONFIG_PATH
puis ouvrez un nouveau terminal, exécutez:
echo $PKG_CONFIG_PATH
qui me donne:
:/usr/local/opencv-3.1.0/lib/pkgconfig:/usr/local/opencv-3.1.0/lib/pkgconfig:/home/newdisk/optnew/opencv-arm/lib/pkgconfig
Le problème est: D'abord, en qt IDE et éditer le fichier .pro
#.pro
CONFIG += link_pkgconfig
PKGCONFIG += arm-opencv
le résultat est:
:-1: error: arm-opencv development package not found
En second lieu, quand dans le terminal:
arm-linux-g++ `pkg-config arm-opencv --cflags --libs` show.cpp -lpthread -lrt -o show
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libavcodec.so.57, needed by /home/newdisk/optnew/opencv-arm/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libavformat.so.57, needed by /home/newdisk/optnew/opencv-arm/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libavutil.so.55, needed by /home/newdisk/optnew/opencv-arm/li/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libswscale.so.4, needed by /home/newdisk/optnew/opencv-arm/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libjpeg.so.9, needed by /home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: warning: libpng16.so.16, needed by /home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so, not found (try using -rpath or -rpath-link)
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]IBJPEG_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_4'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_4'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_4'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_4'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_55'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_videoio.so: undefined reference to `[email protected]_57'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_9.0'
/home/newdisk/optnew/opencv-arm/lib/libopencv_imgcodecs.so: undefined reference to `[email protected]_0'
collect2: ld returned 1 exit status
En addtion, le compilateur croisé est installé dans
/home/newdisk/optnew/opt/FriendlyARM/toolschain/4.5.1/bin
qt compilation croisée est installé dans
/home/newdisk/optnew/qt5.5.1
compilation croisée OpenCV est installé dans
/home/newdisk/optnew/opencv-arm
compilation croisée de 3rdparty de OpenCV est installé dans
/home/newdisk/optnew/opencv-rely
de 3rdparty de OpenCV sont:
zlib
jpeg
libpng
yasm
x264
xvidcore
ffmpeg
Comment dois-je mettre mes variables d'environnement Faites bien fonctionner pkg-config pour que mon progr Est-ce que ams peut trouver les répertoires include et lib d'opencv-dependent aussi bien qu'opencv-rely?
Si la version 2.4.9 d'opencv est suffisante alors vous pouvez installer des paquets armhf depuis les dépôts Ubuntu. Activez le support multiarch dans dpkg, installez les versions armhf des paquets avec l'habituel amd64. J'utilise une "troisième manière" de configurer un projet en faisant des constructions multi-architectures - CMake (l'option .pro devrait fonctionner aussi, mais je ne l'ai jamais utilisée). – Velkan
Hier soir, j'ai essayé d'ajouter les librairies 3rdparty d'opencv et d'opencv à qt .pro avec un chemin absolu explicite comme l'awser que j'ai posté ci-dessous. J'ai ton message. Cmake est aussi un moyen de crosscopile. Que ce soit qt ou cmake est juste un outil. Je suis un débutant, quand j'ai construit opencv pour mon bras, je touche un peu cmake. @ Velkan –