错误截图
我这里的遇到的问题具体情况如下
使用xcode编译后插件可以正常使用,但使用macdeployqt打包后就无法正常使用了
经排查问题原因是打包后的插件可执行文件的rpath被修改了
使用macdeployqt打包后rpath被修改为@executable_path/../Frameworks
AE启动时@executable_path的路径是/Applications/Adobe After Effects 2025/Adobe After Effects 2025.app/Contents/MacOS/After Effects
在该路径的../Frameworks中查找不到相关库,所以插件加载失败了
使用lldb调试AE启动流程时,发现AE加载插件是在/Applications/Adobe After Effects 2025/Adobe After Effects 2025.app/Contents/Frameworks下查找相关库,没有去插件所在目录下查找,从这里也能证明rpath设置的有问题
lldb
# 创建lldb调试器目标
target create "/Applications/Adobe After Effects 2025/Adobe After Effects 2025.app/Contents/MacOS/After Effects"
# 启动AE进程
process launch
解决办法:
执行如下指令添加rpath的搜索路径后插件可以正常加载
install_name_tool -add_rpath "@loader_path/../Frameworks"
pluginname.plugin/Contents/MacOS/pluginname