因此,我正在使用本指南为Raspberry Pi交叉编译OpenCV:
https://visualgdb.com/tutorials/raspberry/opencv/build/ 我这样做主要是因为在RPi上构建任何东西都比在Windows上慢得多,并且因为我需要Visual Studio的远程调试工具。一切都按预期工作,尤其是在VisualGDB的高级CMake子系统中。但是,当我到达部署步骤时,会遇到一些烦恼。
首先,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根root 9832912 Oct 17 18:16 libopencv_calib3d.so
-rwxr-xr-x 1根root 9832912 Oct 17 18:17 libopencv_calib3d.so.4.0
-rwxr-xr-x 1根root 9832912 Oct 17 18:16 libopencv_calib3d.so.4.0.0
如您所见,它没有创建一个.so文件和几个符号链接,而是创建了同一文件的多个副本。这基本上是因为Windows不支持符号链接。现在有几种即席解决方案,例如将重复文件转换为符号链接的脚本,但这实际上并不是一种可靠的方法。您如何在日常交叉编译任务中解决此类问题?