首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引用llvm-3.6/llvm作为llvm

引用llvm-3.6/llvm作为llvm
EN

Stack Overflow用户
提问于 2015-11-14 20:20:14
回答 1查看 55关注 0票数 0

我已经在Willy上安装了llvm-3.6-dev软件包(Ubuntu15.10)。除了一个小问题--所有的头和库都在/usr/include/llvm-3.6中,例如/usr/include/llvm-3.6/llvm/IR/Support.h中,这个包工作得很好。这意味着我的程序(只引用llvm/IR/Support.h )并不是针对这些包构建的。

默认情况下,我可以告诉G++或Ubuntu查看这个文件夹吗?

目前,我只是直接将包含路径添加到命令行。但是,如果这个包决定将它们放置在/usr/local/include而不是/usr/include中,这将是非常糟糕的,所以它是非常脆弱的。

我可以把一些额外的参数传递给apt-get install,让它在没有前缀的情况下安装它们吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-14 20:25:04

您可以简单地将-I path添加到g++命令行选项中,并将-L path添加到链接器命令中。然而,LLVM确实提供了一个工具,用于生成使用特定版本的LLVM构建所需的选项(只要LLVM本身具有正确的选项)。

要使用llvm库函数和标头,您应该使用llvm-config --libsllvm-config --ldflags--llvm-config --cxxflags来获得构建代码的“正确”选项。

这应该进入makefile或任何用于构建代码的内容。

一个使用它的示例:https://github.com/Leporacanthicus/lacsap/blob/master/Makefile

顺便说一句,构建你自己的LLVM和Clang并不是非常困难--在一个6核AMD处理器的台式机上大约需要15分钟,在我的四核笔记本电脑上要多一点,在我的机器上工作要少一点)。

我就是这样构建clang +llvm的:

请查看llvm:

代码语言:javascript
复制
cd sources     # Or whatever you want to keep your LLVM sources.
git clone http://llvm.org/git/llvm.git llvm 

然后创建一个临时的"buildllvm“目录:

代码语言:javascript
复制
CC=clang CXX=clang++ cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=1  -DLLVM_TARGETS_TO_BUILD=X86 ../llvm
make -j 8
sudo make install

调整数字8,使之与您有处理器核心的相同。

这没有指定目标目录,因此将在/usr/local/{lib中安装自己,包括.}

我还构建了一个库的调试版本:

代码语言:javascript
复制
export CC=clang
export CXX=clang++ 
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local/llvm-debug -DLLVM_TARGETS_TO_BUILD=X86 ../llvm
make -j 8
sudo make install

它确实指定了安装目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33712913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档