【发布时间】:2021-06-16 16:54:33
【问题描述】:
我使用的 OpenCV 是通过 brew 安装的:
brew install opencv
这是我的 .pro 文件配置:
INCLUDEPATH += /usr/local/include/opencv4 \
/usr/local/include/opencv4/opencv2
LIBS += /usr/local/lib/libopencv_*
我使用macdeployqt 命令:
macdeployqt testopencv.app
此时,该应用无法在其他 Mac OS 上打开。
所以,我使用otool -L 命令查看路径:
otool -L testopencv.app/Contents/MacOS/testopencv
我将我使用的所有 OpenCV 库移到了应用程序的内部, 并将所有 OpenCV 路径更改为应用程序内部路径。
就这样。
cp /usr/local/opt/opencv/lib/libopencv_core.4.5.dylib /Users/plf/qt/testopencv/testopencv.app/Contents/Frameworks/
install_name_tool -change /usr/local/opt/opencv/lib/libopencv_core.4.5.dylib @executable_path/../Frameworks/libopencv_core.4.5.dylib testopencv.app/Contents/MacOS/testopencv
直到所有 OpenCV 路径都变成
@executable_path/... /Frameworks/xxxxxxxxx
但现在我将打包的应用程序移到其他 Mac OS 上,但它仍然无法运行。
我应该怎么做?有没有额外的步骤?
【问题讨论】: