如何在Eclipse上构建LLVM源代码?
我正在尝试向 llvm 编译器基础结构添加一个新通道。 我已经能够使用 make 构建 LLVM-2.9。但我想使用 Eclipse 构建 这样我就可以追踪代码。 我使用LinuxGcc工具链将llvm源文件导入到c++项目中 和 CDT 内部构建器(带有 CDT-7.0 的 Eclipse)。但它给出了一些错误。 这是使用 eclipse 构建 llvm 的正确方法吗? 请建议我使用 Eclipse 构建 llvm 源所涉及的步骤。 注:平台ubuntu。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我使用的工具/版本:
在工作区中为 CDT 项目文件创建一个文件夹。 即
workspace/llvm
。使用 cmake 生成 CDT 项目文件(位于
workspace/llvm
中):CMAKE_ECLIPSE_VERSION 选项进行更改,但结果是该选项的名称错误。
增加 Eclipse 堆分配大小。默认设置太小,C++ Indexer 会挂起整个 IDE。将默认设置替换为
<前><代码>-Xms512m
-Xmx1024米
在
eclipse.ini
文件中。将项目导入到您的工作区。文件 → 导入... → 常规 → 将现有项目导入工作区。
llvm
可以构建为一个项目(选项“构建项目”)。还为每个库和可执行文件创建了单独的目标,并将其放置在[Targets]
文件夹中。可以使用选项“Make Targets → Build...”来构建单个目标Tools/versions used by me:
Create a folder for CDT project files in your workspace. I.e.
workspace/llvm
.Generate CDT project files with cmake (being in
workspace/llvm
):If eclipse version is not set the generator will assume 3.7 and inform you that it can be changed by
CMAKE_ECLIPSE_VERSION
option, what turns out to be the wrong name for that option.Increase eclipse heap allocation size. The default setting is too small and C++ Indexer would hang the whole IDE. Replace default settings with
in
eclipse.ini
file.Import the project into your workspace. File → Import... → General → Existing Projects into Workspace.
llvm
can be built as one (option Build Project). There are also separated targets created for every lib and executable, placed in[Targets]
folder. Individual target can be built with option Make Targets → Build...您可以使用
cmake -G"Eclipse CDT4 - Unix Makefiles"
来生成本机 Eclipse 项目集。它可能需要调整您的CMakeLists.txt
以删除对源内构建的检查(因为 Eclipse 只能支持同一目录中的项目文件和源,但由于某种原因,当前的 CMakeLists 允许它用于 MSVS仅) - 只需按照错误消息进行操作即可。You can use
cmake -G"Eclipse CDT4 - Unix Makefiles"
to produce the native Eclipse set of projects. It might require tweaking yourCMakeLists.txt
to remove the check for in-source builds (since Eclipse can only support project files and sources in the same directory, but for some reason the current CMakeLists allows it for MSVS only) - just follow the error messages.