【问题标题】:Linux: Create automatically C++ makefile from given source filesLinux:从给定的源文件自动创建 C++ makefile
【发布时间】:2013-09-28 17:01:54
【问题描述】:

我有一个这样的项目结构:

src/main.cpp
src/Folder/this.cpp
src/Folder/that.cpp
src/NewFolder/foo.cp
// etc.

此外,我需要一些库以便我可以链接,例如lboost_system。我怎样才能用这些给定的信息简单地创建一个makefile?我一直在阅读有关手动创建 makefile、CMake 等的内容,但我认为这太复杂了! 没有任何工具可以指定以下信息:

Source folder: /home/bla/src/
Additional Libs: lboost_system
Compiler Flags: -std=c++0x (or whatever)

然后生成了一个makefile?!真的那么难吗?

【问题讨论】:

  • 这实际上就是 cmake 文件的全部内容。用普通的老牌子来做这件事并不难。
  • 你也可以使用一些IDE,它会为你做的
  • 其实我是用Netbeans来生成makefile的。但首先,这在某种程度上是“过度设计”的,只是为了生成一个生成文件,其次我现在使用的是一台处理能力非常低的电脑。安装 Eclipse 或 Netbeans 很糟糕

标签: c++ linux makefile


【解决方案1】:

您可以以通用方式编写 Makefile - 即您不必一一指定每个源文件。看看http://www.puxan.com/Computers/Howto-write-generic-Makefiles,我很久以前就做过了,所以我不记得细节了,但最后添加 *.cpp 文件并不(通常)需要更改 Makefile。

您还可以查看 automake (http://www.gnu.org/software/automake/manual/automake.html),它比裸 cmake 领先一步。如果您想将软件作为源文件分发,它会标准化 make 目标,并且看起来会让您的生活更轻松。

【讨论】:

    猜你喜欢
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 2013-05-13
    • 2010-09-22
    相关资源
    最近更新 更多