我有一个本地CMake的项目,我想使用Eclipse的 IDE与它这样,它使我的发展提供自动完成,并和其他功能更容易。 我似乎无法找到如何导入一个CMake的项目在Eclipse中。
PS:我打开其他的IDE与CMake的工作很好的建议。
我有一个本地CMake的项目,我想使用Eclipse的 IDE与它这样,它使我的发展提供自动完成,并和其他功能更容易。 我似乎无法找到如何导入一个CMake的项目在Eclipse中。
PS:我打开其他的IDE与CMake的工作很好的建议。
KDevelop的是一个真棒IDE以极大的CMake支持。
至于日食 - 运行以下命令:
cd <project_dir>
cmake -G "Eclipse CDT4 - Unix Makefiles" ./
这将产生Eclipse项目给你。
在阐述arrowd的回答为Eclipse:
首先,选择CMake的文件的目录。 我宁愿让我的Eclipse工作区在~/workspaces
,并在源代码~/src
。 数据,我需要建立或测试项目进展项目的工作空间目录的子目录,所以我建议做了C进行相同。
假设两个工作区和源文件夹名为someproject
,这样做:
cd ~/workspaces/someproject
mkdir cmake
cd cmake
cmake -G "Eclipse CDT4 - Unix Makefiles" ~/src/someproject
然后,在你的Eclipse工作区,这样做:
文件>导入...>常规>现有项目到工作区
检查选择的根目录 ,然后选择~/workspaces/someproject/cmake
。 确保项目复制到工作区中未被选中。
单击Finish,你有你的工作空间CMake的项目。
有两点需要注意:
cmake
工作区子目录,但是你可以使用你选择的名称。 Makefile.am
),您将需要以重新运行最后一个命令为Eclipse拿起变化。 我刚刚得知的CMake的CDT项目发生器似乎无人维护而造成的各种问题,尤其是,它似乎与更高版本的Eclipse(其中我有我的份额为好)。
该建议是使用cmake4eclipse(可从Eclipse的市场),它使用CMakeLists.txt
作为其唯一的真理的来源。 它还可以让你保持源代码树从您的工作区分开。
我的桌面上的一个简单的解决方案:
New -> New C/C++ Project -> Empty or Existing CMake Project
,选择项目名称(如项目)。 总之,只有在CDT发生器是目前一个可行的选择。 为什么? 很简单,因为Eclipse中必须获得预处理器定义,包括路径,包括在从某处构建哪些文件。 否则,我们将最终索引一切,得厉害,没有正确的宏被定义。 如果您在回购有提升,或中型或大型树,索引一切根本不会在现实世界中的工作 - 不与Eclipse的索引的速度和可靠性反正。 由于大多数人可能想使用忍者的建立这些天(谁愿意等待超过30秒一个温暖的构建只是为了看看有什么脏吗?),这排除了目前支持通过makefile文件导入此信息的唯一途径,除非你想有生成每次配置的时间,这将使自动化一个真正的痛苦两个单独的构建系统(因为cmake的重新运行本身,当列表改变)。
在Eclipse光子有直接导入cmake的项目一个新的选择。 然而,在这个阶段,我会说,它看起来比琐碎的项目以外的任何其他大多无用,因为似乎没有被任何方式导入已配置的build目录,或任何设置变量,并且获得通过的至理cmake的。 我还不知道这个功能的实际工作原理,但它似乎是Eclipse的,必须通过CMakeLists的层次来分析,按照逻辑看add_subdirectory()调用的是什么,并定义设置了什么样预处理,这似乎是没有前途的方法,因为我们有cmake的服务器模式正是这一点,这无疑将需要的几乎所有的在Eclipse中cmake的语言解析器的重新实施,使这项工作。
到目前为止,这似乎能满足现实世界要求的唯一可行的解决方案似乎是使用的cmake CDT发电机。 它可以直接从里面的cmake,得到上述信息,并将其写入到.cproject文件。 正如前面提到的,它是不是真的保持,并且依赖于对.cproject,这会导致一些问题,一个过时的模板。
对于cmake的支持我自己的最低要求是:
我看不出做任何上述的任何东西,除了目前的CDT发电机,并实现了工作和精解的唯一途径要求要么在一些的cmake的发电机,或所产生的.cproject后处理黑客是选择什么编入索引(即不是所有CMAKE_SOURCE_DIRECTORY的)。 这是另一个黑客(因为cmake的没有任何办法以进行配置后任务连接到配置阶段,我们必须创建一个进程,并监视终止父cmake的,这是代表的cmake的慎重决定开发商显然,也许这是正确的)
我当然很感激任何更好的方法的信息。 Eclipse中的cmake支持的国家是一个应该是C ++开发工具相当惨淡。 索引器(至少当它不被需要的Eclipse重新启动定期死机的困扰),实际上是其中最好的左右,而Eclipse是围绕代码跳一个非常良好的环境。
执行如下:
mkdir debug
(或释放,或任何其他名称)
cd debug
cmake -G "Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -DCMAKE_ECLIPSE_MAKE_ARGUMENTS=-j3 -DCMAKE_ECLIPSE_VERSION=4.1 ../
请确保您设置正确的Eclipse版本
然后打开在Eclipse(开放项目)的文件夹