Я пытаюсь перекрещивать демо-версию для малиныPi. Я использую CMake, но ниже - команда linkng. Важной частью является то, что libvgfont.a находится в самом конце:Cross Compile не находит ссылки
/home/justinvf/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/armlinux-gnueabihf-g++ CMakeFiles/CamHack.dir/opencv_demo.cpp.o -o CamHack -rdynamic /home/justinvf/raspi/rootfs/lib/libmmal_core.so /home/justinvf/raspi/rootfs/lib/libmmal_util.so /home/justinvf/raspi/rootfs/lib/libmmal_vc_client.so /hom\
e/justinvf/raspi/rootfs/lib/libvcos.so /home/justinvf/raspi/rootfs/lib/libbcm_host.so /home/justinvf/raspi/rootfs/lib/opencv/libopencv_highgui.so /home/justinvf/raspi/rootfs/lib/opencv/libopencv_core.so /home/justinvf/raspi/rootfs/lib/opencv/libopencv_imgproc.so /home/justinvf/raspi/rootfs/lib/opencv/libopencv_objdetect.so /home/justinvf/raspi/rootfs/lib/libo\
penmaxil.so /home/justinvf/raspi/rootfs/lib/libEGL.so -lpthread -lm -lrt /home/justinvf/raspi/rootfs/opt/vc/src/hello_pi/libs/vgfont/libvgfont.a -Wl,-rpath,/home/justinvf/raspi/rootfs/lib:/home/justinvf/raspi/rootfs/lib/opencv
Я получаю сообщение об ошибке о неопределенных ссылок, не делает для меня смысл:
opencv_demo.cpp:(.text+0xc10): undefined reference to `gx_graphics_init(char const*)'
opencv_demo.cpp:(.text+0xc38): undefined reference to `gx_create_window(unsigned int, unsigned int, unsigned int, GRAPHICS_RESOURCE_TYPE_T, GRAPHICS_RESOURCE_HANDLE_TABLE_T**)'
opencv_demo.cpp:(.text+0xc54): undefined reference to `gx_create_window(unsigned int, unsigned int, unsigned int, GRAPHICS_RESOURCE_TYPE_T, GRAPHICS_RESOURCE_HANDLE_TABLE_T**)'
libvgfont.a определенно имеет эти ссылки:
nm -g /home/justinvf/raspi/rootfs/opt/vc/src/hello_pi/libs/vgfont/libvgfont.a | grep gx_graphics_init
000025d8 T gx_graphics_init
Это мой первый кросс-компиляционный проект, поэтому я угадываю что-то глупое. Хотя бы очень понравилась какая-то помощь!
Вы уверены, что библиотеки и объектные файлы упорядочены правильно? – 0x499602D2
Чувствует себя как недостающая зависимость, которая может быть результатом некоторых параметров cmake ... Когда вы говорите «кросс-компиляция», вы имеете в виду, что вы создаете OpenCV на своем компьютере (x86) для передачи на Pi (РУКА)? Или ты просто строишь на Пи? – tomwhipple
Кроме того, какую версию OpenCV вы используете? – tomwhipple