使用make

时间:2015-11-25 15:27:46

标签: c++ linux makefile

我想完全从使用Windows切换到Linux(Ubuntu)。阻止我转换的最后一个问题是用C ++编写代码的必要性。在Windows上我使用Visual Studio。在Linux上,我目前正在努力了解如何使用。

我需要一套简单的说明和提示。如果我有五个文件: main.cpp BuisnessCard.h BuisnessCard.cpp Tell.h Tell.cpp 。请告诉我如何创建Makefile,这样我就可以完成以下任务:
1)当我输入make main时,我希望它创建“可执行”文件./main,其中包含来自 BuisnessCard.h Tell.h (当然。根据.cpp文件)。
2)当我输入make main_debug时,它会执行相同的操作,但使用不同的编译选项(称为 flags ?)

有人可以回答我的问题或提供元素教程的链接吗?我已经尝试过:MRBook's tutorialthis SO post,但它已经有点过于先进了,而我似乎没有得到基础知识。

2 个答案:

答案 0 :(得分:1)

如果您对make感兴趣,我建议您阅读introduction to GNU make。这是一个简单(而不是非常强大)的程序makefile的例子:

main: main.cpp BuisnessCard.h BuisnessCard.cpp Tell.h Tell.cpp
    c++ $^

虽然了解make的基础知识可能很有用,但我建议使用更高级别的工具(例如CMake)来管理构建配置。这是一个类似的CMake配置:

project(MYPROJECT)
add_executable(main main.cpp BuisnessCard.h BuisnessCard.cpp Tell.h Tell.cpp)

CMake的优势在于它可以为各种IDE生成可移植的Makefile或项目文件。它还允许为已安装的编译器,库等编写平台检查。

使用CMAKE_BUILD_TYPE在不同的构建配置之间切换也很容易,例如使用可以运行的调试配置

cmake -DCMAKE_BUILD_TYPE=Debug .

答案 1 :(得分:0)