In front of me some different Technologies and I'm confused between them. GNU make, CMAKE, Qmake, Code::blocks methodology
在我面前有一些不同的技术,我在它们之间感到困惑。 GNU make,CMAKE,Qmake,Code :: blocks方法
Code::Blocks uses a custom build system, which stores its information in XML-based project files, but can optionally use external makefiles **says WIKI**
1- What's the difference between CMAKE and GNU MAKE ?
1- CMAKE和GNU MAKE有什么区别?
2- If I'm planning for long term relationship with linux what is the best for that ?
2-如果我计划与linux建立长期合作关系,那最好的是什么?
3- If I needed to cross-platform some apps, will I need the same technique ?
3-如果我需要跨平台某些应用程序,我是否需要相同的技术?
2 个解决方案
#1
17
CMake generates platform specific make files. So on Linux, it wil generate files for gnu make, on windows it can generate Visual Studio solutions.
CMake生成特定于平台的make文件。所以在Linux上,它会为gnu make生成文件,在Windows上它可以生成Visual Studio解决方案。
There are some other good options to consider like scons and waf, they are both Python based, cross platform, and are much more pleasant to work with than GNU Make.
还有其他一些很好的选择,比如scons和waf,它们都是基于Python的,跨平台的,并且比GNU Make更加愉快。
#2
3
CMake is a cross-platform wrapper around more traditional build systems. like make for linux and Visual Studio Solutions for windows.
CMake是围绕更传统的构建系统的跨平台包装器。比如make for linux和Visual Studio Solutions for windows。
"One nice feature of CMake is the ability to do out of source builds. That means you can make all your .o files and even the binary executables without cluttering up your source tree."
“CMake的一个不错的功能是能够完成源代码构建。这意味着您可以制作所有.o文件甚至二进制可执行文件,而不会使源代码树变得混乱。”
I found this tutorial very helpful.
我发现本教程非常有用。