我看到有类似的问题被提出并且有一些答案,但这些都没有适用于我正在寻找的东西,所以我去了: -
我正在使用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解析器而不是从头开始下载所有内容? 非常感谢您的阅读,非常感谢帮助。
答案 0 :(得分:0)
我找到了解决方法: -
从
下载预构建二进制文件(而不是源代码)http://clang.llvm.org/get_started.html
然后,在可用库列表中,请勿添加clang.dylib
。而是添加所有其他clang * .a文件。我的猜测是,他们正在进入clang.dylib
,所以应该没问题。
执行llvm-config --system-libs
并添加其他库。
一切都应该有效(至少对我而言)。