首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用CMake进行LLVM时启用共享库构建?

如何在使用CMake进行LLVM时启用共享库构建?
EN

Stack Overflow用户
提问于 2011-03-19 13:26:15
回答 3查看 11.4K关注 0票数 7

问题:在从Ubuntu存储库安装LLVM2.8时,Ubuntu10.10没有提供LLVM CMake模块(/usr/share/llvm)或(/usr/local/share/llvm)。

因此,我现在使用CMake自己编译LLVM2.8,然后按如下方式安装:

代码语言:javascript
复制
cmake ..
make
make install

这将安装CMake模块,我需要将LLVM链接到我的库。问题是,当我使用CMake编译LLVM时,只编译静态库。我在LLVM文档中看到,可以使用此参数将共享库编译为CMake:

代码语言:javascript
复制
cmake -DBUILD_SHARED_LIBS=true ..

但是现在,CMake返回这个错误:

代码语言:javascript
复制
-- Target triple: i686-pc-linux-gnu
-- Native target architecture is X86
-- Threads enabled.
-- Building with -fPIC
-- Targeting Alpha
-- Targeting ARM
-- Targeting Blackfin
-- Targeting CBackend
-- Targeting CellSPU
-- Targeting CppBackend
-- Targeting Mips
-- Targeting MBlaze
-- Targeting MSP430
-- Targeting PIC16
-- Targeting PowerPC
-- Targeting Sparc
-- Targeting SystemZ
-- Targeting X86
-- Targeting XCore
-- Configuring done
CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
  "LLVMARMCodeGen" of type SHARED_LIBRARY
    depends on "LLVMARMAsmPrinter"
  "LLVMARMAsmPrinter" of type SHARED_LIBRARY
    depends on "LLVMARMCodeGen"
At least one of these targets is not a STATIC_LIBRARY.  Cyclic dependencies are allowed only among static libraries.
-- Build files have been written to: /llvm-2.8/build

我不能把它编译成共享库,有人知道如何解决这个问题吗?我需要共享库,因为它们是许多其他工具的依赖项。

摘要

1) Ubuntu存储库中的LLVM2.8安装LLVM共享库,但不安装我需要的CMake模块。

2)另一方面,如果我自己编译LLVM,它会安装我所需要的CMake模块,但我只能在将LLVM编译为静态库时才能这样做。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-19 20:57:21

经过大量的调查(google、source和llvmdev邮件列表),我发现这个问题实际上是2.8版本的一个问题,在该版本中使用CMake的共享库的编译已经中断。我现在正在将我的库移植到2.9rc1版本,该版本运行良好,并且已经计划很快发布,谢谢所有的答案。

票数 5
EN

Stack Overflow用户

发布于 2011-03-19 14:29:09

LLVM2.8 文档没有提到使用CMake构建。

尝试./配置--启用-共享

票数 1
EN

Stack Overflow用户

发布于 2011-03-19 19:08:32

试着阅读此页,然后在勒夫德夫列表上询问这是否有帮助。

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

https://stackoverflow.com/questions/5362352

复制
相关文章

相似问题

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