【问题标题】:Making a cross platform library with CMake?使用 CMake 制作跨平台库?
【发布时间】:2011-03-12 01:22:08
【问题描述】:

CMake 难用吗?我一直在使用 Windows 和 MSVC++ 开发一个库。我在 Linux 和 OSX 中测试了我的代码,通过繁琐地从每个文件中创建对象并从中创建一个库。

我有几个目录,例如:

Agui
-> Widgets
      ->Button
      ->ListBox
 -> Backends
        -> Allegro

我想要的是,例如,如果我在 Windows 上,它会自动生成一个 msvc 项目,其中包含所有这些目录和文件并准备好进行编译。

在 Linux 和 OSX 上,我希望能够做类似的事情

cmake

制作

这是否可以通过 CMake 实现,并且根据我的情况很容易做到。 谢谢

【问题讨论】:

    标签: c++ makefile cmake


    【解决方案1】:

    是的,这正是制作 CMake 的原因。 Huge projects 喜欢 KDE 使用 CMake。 而且它易于设置。

    【讨论】:

      【解决方案2】:

      这正是 CMake 的开发目的。 CMake 生成可在您选择的平台上使用的本机构建文件和工作区。所以在 Unix 上这通常是 Unix Makefiles,在 Windows Visual Studio 上你可以选择你的 Visual Studio 版本来生成一个可以在 IDE 中打开的解决方案,或者使用 NMake Makefiles。

      如果你想添加一个简单的库,你只需使用 add_library 函数,给它一个库名和一个源文件列表。我建议您查看CMake tutorial 以获得简要概述。还有一本书,Mastering CMake,以及许多教程页面。您也可以向 CMake 命令行寻求帮助,“cmake --help-command add_library”会显示 add_library 文档。

      【讨论】:

        【解决方案3】:

        CMake 将为许多 IDE 生成项目文件,但我发现 automake+libtool 往往更易于使用。这是一个很好的教程:http://www.lrde.epita.fr/~adl/autotools.html

        不要被页数吓到:大部分是逐步显示图表。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-26
          • 2014-07-11
          • 2012-04-18
          • 2023-03-10
          • 2011-02-27
          • 2011-04-18
          相关资源
          最近更新 更多