【发布时间】: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