如何为cmake配置Eclipse CDT?

ksp*_*cja 21 eclipse-cdt cmake

如何使用插件CDT为cmake配置Eclipse"Helios"?

cmake all 
CMake Error: The source directory "D:/javaworkspace/workspace/Planner/Debug/all" does not    exist.
Run Code Online (Sandbox Code Playgroud)

Eclipse总是想使用'all'选项,我不知道如何阻止它不使用它.

我已经在"构建行为"部分看到,在"偏好"中有"全部"选项.我删除了这个,但它仍然有效(同样的错误).

gvd*_*gvd 30

在Eclipse-CDT中,您不创建 cmake项目,而是导入cmake项目.这是你应该做的:

  1. 假设名为"Planner"的CMake项目的源位于 D:/javaworkspace/src/Planner

  2. 创建一个文件夹(文件夹需要彼此平行): D:/javaworkspace/build/Planner

  3. 转到该文件夹D:/javaworkspace/build/Planner并使用Eclipse生成器运行CMake:

    cmake ../../src/Planner -G"Eclipse CDT4 - Unix Makefiles"
    
    Run Code Online (Sandbox Code Playgroud)

    这将为您的Planner项目生成make文件.

  4. 要在Eclipse中导入它,请执行以下操作:

    文件 - >导入 - >现有代码作为Makefile项目

    并选择D:/javaworkspace/build/Planner(带有make文件的构建输出文件夹)作为"现有代码位置"

但是,看着你的路径,在我看来你正在使用Windows.在Windows中,CMake可以生成Visual Studio项目.如果你想使用CMake我建议首先使用CMake创建一个"hello world"项目(记住,Eclipse不会创建CMake项目,你必须手动创建一个CMakeLists.txt文件)

  • 不知怎的,它总是归结为自己做事.鉴于此,我不妨继续使用体面的文本编辑器和命令行. (2认同)

Mar*_*rdy 16

对我来说最有效的是cmake4eclipse.这是一个可以通过市场上获得的插件.

来自cmake4eclipse帮助文本的部分:

CMake for CDT需要现有的C/C++项目才能使用.它允许使用cmake作为makefile的生成器,而不是内置于CDT的生成器.有关详细信息,请参阅启用CMake buildscript生成.

要使用现有源代码设置新项目,请按以下步骤操作:

  • 看看你的源代码.
  • 打开新的C/C++项目向导("File"=>"New"=>"C Project"或"File"=>"New"=>"C++ Project").
    • 确保项目位置指向已签出文件的根目录
    • 对于项目类型,请选择"可执行文件".您也可以选择共享库或静态库,这无关紧要,该信息来自您的CMakeLists.txt,但CDT需要它.不要在这里选择Makefile项目!
    • 完成项目创建.
  • 打开"项目属性"对话框.
    • 选择"C/C++ Build"节点和"Builder Settings"选项卡,确保选中Generate Makefiles.
    • 选择"工具链编辑器"节点并将"CMake Make Builder"设置为当前构建器.
    • 如果您的顶级CMakeLists.txt不在已签出文件的根目录中,请选择"C/C++ General""路径和符号"节点和"源位置"选项卡.然后调整源文件夹以指向包含CMakeLists.txt文件的目录.这将告诉CDT索引器扫描项目中的头文件.
  • 专业提示:如果您错过了C/C++项目视图中的Binaries或Archives文件夹,请在已签出文件的根目录中添加CMakeLists.txt文件.建立项目.如果需要,这将调用cmake生成构建脚本,然后调用make.

不要尝试导入使用cmake -G Eclipse CDT4 - Unix Makefiles手动创建的Eclipse项目,因为这将使您进入经典的Makefile项目路径!

关于这个插件的最好的事情是它可以使用cmake导出的编译器选项来索引你的项目.

  • 打开"项目属性"对话框.
    • 选择"C/C++常规"节点和"预处理器包含路径,宏等".标签.选择"CMAKE_EXPORT_COMPILE_COMMANDS Parser"并将其移至列表顶部.
    • 点击"确定"关闭对话框.确保现在触发一个构建并重新创建索引.

Provider选项卡

这修复了当我只使用"CDT GCC内置编译器设置"并将"-std = c ++ 14"之类的内容添加到"命令以获取编译器规范"时令我烦恼的所有令人讨厌的索引器问题.

  • 优秀!我喜欢你的风格! (2认同)

小智 5

在Eclipse Makefile项目中使用CMAKE(在win上):

1)使用现有代码创建新的" Makefile项目 "

2)修改构建器设置(项目属性 - > C/C++构建 - >构建器设置):

  • 构建命令:cmd/c"mkdir $ {PWD}&cd/D $ {PWD} && $ {CMAKE} -G"Unix Makefiles"$ {ProjDirPath} && make"

  • 构建目录:$ {workspace_loc:/ IoT_SDK}/build/$ {ConfigName}

就这样!