描述
在使用QT开发opencv和fastrtps配置的项目时,没有bug,但运行时交互界面不能启动
奇怪的是,在生成的build-XXX-Desktop_Qt_5_11_1_clang_64bit-Debug/文件夹中的可执行文件.XXX是可以成功被运行的
报错内容为
dyld: Symbol not found: __cg_DGifCloseFile
Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/local/lib//libGIF.dylib
in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
程序异常结束。
The process was ended forcefully.
/Users/admin/Desktop/build-CalibrationLidarofFar-Desktop_Qt_5_11_1_clang_64bit-Debug/CalibrationLidarofFar crashed.
解决
检查路径(如下),发现并没有找到libGIF.dylib
/usr/local/lib/
而后发现libGIF.dylib在路径(如下)中
/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources
- 因此执行命令,将缺失的文件拷到QT寻找的路径下
sudo cp libGIF.dylib /usr/local/lib/libGIF.dylib
成功,随后能成功运行QT界面
后续
不求甚解的学习后
.dylib是Mac系统下的lib,该文件是苹果的开发者工具下 Apple Xcode所独有的动态拓展库文件的拓展名。
QT运行起来可能需要libGIF.dylib,但不知道为什么它没有在我的/usr/local/lib下找到这个文件,所以才有了这个错误。
所以,缺什么补什么,至于为什么缺这个东西,我无从得知了