XCODE错误: - dyld:未加载库:@rpath / libLTO.dylib,可执行文件在终端上运行

时间:2017-04-05 06:28:05

标签: c++ xcode clang llvm abstract-syntax-tree

我看到有类似的问题被提出并且有一些答案,但这些都没有适用于我正在寻找的东西,所以我去了: -

我正在使用XCODE 8.3并且我下载了llvm并按照此处的所有步骤进行操作: -

http://clang.llvm.org/get_started.html

我创建了一个XCODE命令行C ++工具,其中我尝试包含CLANG标题,如clang/ASTMatchers/ASTMatchers.h等。

它抛出了一堆错误(链接错误),因此我链接了所有生成的LLVM和CLANG .a和.dylib文件。

所有错误都消失了,除了这些: -

dyld: Library not loaded: @rpath/libLTO.dylib
dyld: Library not loaded: @rpath/libclang.dylib

无论我做了什么,尽管这些库与其他.a文件位于同一文件夹中,但XCODE从未因某种原因选择这两个项目。

我使用install_tool更正了可执行文件中的路径,一切都很好,我能够忠实地打印hello world

现在,问题出现了: -

即使可执行程序在终端上工作,但在XCODE中,我一直在努力克服错误w.r.t.上面的libLTO.dylib。它在LLVM调试窗口中抛出完全相同的错误,因此我无法使用XCODE调试器。

1。)如果可执行文件在终端上工作,为什么不在XCODE上呢?我不是每次都重建二进制文件,所以我们可以排除这些错误。 XCODE显然无法理解构建后install_tool所做的任何事情。我该如何纠正?

这是otool输出: - otool -L <<executable>> 我确实看到兼容性有所不同。不确定这是不是一个问题。

@rpath/libLTO.dylib (compatibility version 1.0.0, current version 5.0.0)
@rpath/libclang.dylib (compatibility version 1.0.0, current version 5.0.0)

是否有一种更简单的方法可以开始使用XCODE中的clang解析器而不是从头开始下载所有内容? 非常感谢您的阅读,非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法: -

下载预构建二进制文件(而不是源代码)
http://clang.llvm.org/get_started.html

然后,在可用库列表中,请勿添加clang.dylib。而是添加所有其他clang * .a文件。我的猜测是,他们正在进入clang.dylib,所以应该没问题。

执行llvm-config --system-libs并添加其他库。 一切都应该有效(至少对我而言)。