【问题标题】:CMake for Code::Blocks -- how to NOT get a MakefileCMake for Code::Blocks -- 如何不获取 Makefile
【发布时间】:2014-12-23 18:45:47
【问题描述】:

这是我的设置: Windows 7 x64、MingW、Msys、CMake、飞思卡尔 Kinetis SDK、代码::块

我正在尝试将 CMake 建立的项目设置放入适当的 Code::Blocks 项目中。当我用-G "CodeBlocks - Unix Makefiles" 修改提供的build_debug.bat 文件时,它确实会生成一个.cbp 文件,以及正常的Makefile(它会构建项目)。但是,当我在 Code::Blocks 中打开这个 .cbp 文件时,它基本上只是指向 Makefile,而构建项目只是在 Makefile 上运行 make

如果我从项目选项中取消选择“这是一个自定义 Makefile”,并像普通 IDE 一样将源文件添加到项目树中,它不会正确构建,即包含文件、库、链接器内容、编译选项等不会导入到项目本身中。看来这个项目基本上只是 Makefile 的一个持有者,所以作为一个 IDE 并没有太大的好处。

当然,如果我将源文件添加到作为发行版一部分的原始 CMakeLists.txt,然后重新运行 cmake(通过 build_debug.bat 文件),那么它可以正常工作。

那么有没有办法从 CMake 中获得“真正的”IDE 配置?我猜答案是否定的,因为“真正的”IDE 配置是静态的,而 Makefile 是通用(图灵完备)程序,因此一般无法自动创建它,尽管我怀疑 99 % 的情况下您只是指定包含目录、lib 文件和编译器选项,因此实际上不需要通用的可编程性。

我可能会尝试找出被深深掩盖的 gcc 调用从哪里获取它们的包含文件、链接到哪些库以及正在使用哪些编译选项,然后手动将所有这些内容添加到本机代码中:: Blocks 项目,但这似乎违背了包提供商已经为我完成这项工作的目的,并且在为不同的 CPU 或开发板构建时变得非常乏味。

谢谢

【问题讨论】:

    标签: cmake mingw codeblocks cortex-m3


    【解决方案1】:
    1. “真实配置”CMakeLists.txt,您在编辑项目配置时需要修改CMakeLists。 CMake 生成的 makefile 和 IDE 设置都是临时的,您不应编辑它们。

    2. 某些 IDE 可以直接在 CMakeLists.txt 中管理项目配置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 1970-01-01
      • 2016-07-28
      相关资源
      最近更新 更多