Поэтому я использую это руководство для кросс-компиляции OpenCV для Raspberry Pi:
https://visualgdb.com/tutorials/raspberry/opencv/build/ Я делаю это главным образом потому, что сборка чего-либо на RPi намного медленнее, чем на Windows, ипотому что мне нужны инструменты удаленной отладки Visual Studio.Все работало, как и ожидалось, особенно с усовершенствованной подсистемой CMake VisualGDB.Однако, когда я достиг шага развертывания, я столкнулся с некоторыми неприятностями.
Во-первых, SmarTTY не смог загрузить файл в каталог / usr, потому что нет способа применить команду sudo в приложении.Я мог скопировать все в каталог / home / pi и затем рекурсивно скопировать все в / usr, который работал как чудо!У меня работала удаленная отладка, и скомпилированные приложения подобрали все необходимые зависимости.Я не знаю, есть ли альтернатива ручному копированию файлов.
Второе раздражение было, когда я использовал команду ldconfig:
pi @ raspberrypi: ~ $sudo ldconfig
ldconfig: /usr/lib/libopencv_calib3d.so.4.0 не является символической ссылкой
.....
pi @ raspberrypi: / usr / lib$ ls libopencv_calib3d. * -al
-rwxr-xr-x 1 корневой корень 9832912 17 октября 18:16 libopencv_calib3d.so
-rwxr-xr-x 1 корневой корень 9832912 17 октября 18 18: 17 libopencv_calib3d.so.4.0
-rwxr-xr-x 1 корневой корень 9832912 17 октября 18:16 libopencv_calib3d.so.4.0.0
Как видите, вместо этогосоздание одного .so файла и нескольких символических ссылок создает несколько копий одного и того же файла.Это в основном потому, что Windows не поддерживает символические ссылки.Сейчас есть несколько специальных решений, таких как скрипты, которые конвертируют дубликаты файлов в символические ссылки, но это не выглядит как надежный подход.Как вы решаете эту проблему в повседневных задачах кросс-компиляции?