ld:找不到文件:@ executable_path / InDesignModel.framework / Versions / A / InDesignModel for architecture x86_64“error

时间:2016-03-11 17:59:38

标签: adobe-indesign

我正在尝试使用Xcode 7.0和MAC 10.10.5编译Indesign插件代码。但我得到“ld:找不到文件:@ executable_path / InDesignModel.framework / Versions / A / InDesignModel for architecture x86_64”错误。

我花了很多时间来解决它而没有任何运气。

2 个答案:

答案 0 :(得分:1)

缺少图书馆。使用动态库的可执行文件既有这些库的列表,也有查找它们时可能的搜索路径,称为运行路径列表。库列表可以是完整路径或相对路径。如果路径是相对路径,则链接器将在运行路径列表的每个元素下搜索它们。 (您可以使用otool -L查看预期库的列表。)

@executable_path是动态链接器在执行此搜索时替换为可执行文件的完整路径的变量。所以链接器正在/path/to/App.app/Contents/MacOS/app_executable/InDesignModel.framework/Versions/A/InDesignModel寻找库,但它不存在。

解决方案是使用install_name_tool更新可执行文件的运行时路径列表。你可以这样做:

$ install_name_tool -add_rpath /path/to/InDesignModel app_binary

或者,您可以在编译期间直接添加@rpath,方法是添加链接标记-Wl,-rpath,/path/to/InDesignModel

答案 1 :(得分:0)

您需要明确链接InDesignModel框架,请确保:

-framework InDesignModel

在您的链接命令中。或者在Xcode中添加InDesignModel.framework。

这在Xcode 7中为我修复了它,它是Xcode 6的行为改变。