【问题标题】:Getting head around CMake with Linux [closed]使用 Linux 了解 CMake [关闭]
【发布时间】:2016-11-23 17:32:25
【问题描述】:

我一直在 Visual Studio 2015 中处理一个 Windows 项目,但我现在需要对其进行编译才能在 Linux 上运行。我尝试过多次失败的尝试,并且读到 CMake 是最好的方法,但我很难理解它。

我有以下文件:

Othello.cpp - Main is in here
Board.cpp
MonteCarlo.cpp
Node.cpp

Board.h
MonteCarlo.h
Node.h

基本上我不知道应该如何编译它。感谢阅读!

【问题讨论】:

  • 如果您的程序依赖于 Windows API,那么您还有很多工作要做,而不是编写 CMakeLists.txt 文件。
  • 当你说 API 是什么意思?据我所知,我不相信它确实如此
  • API 代表“应用程序接口”。如果您的程序包含特定于 Windows 的头文件,以及与特定于 Windows 的库的链接,那么除了设置 CMake 项目文件的简单机制之外,让它在 Linux 上编译和运行将是一项重要的工作。
  • 既然您来自 Visual Studio,而且我认为对此非常满意,请查看 Visual C++ for Linux 开发扩展:blogs.msdn.microsoft.com/vcblog/2016/03/30/…
  • 我一直在使用OpenCV,但我认为它看起来对我来说太麻烦了。感谢您的回复

标签: c++ linux gcc makefile compilation


【解决方案1】:

假设您已经解决了 Windows 和 Linux 之间的原生 API 的任何实现问题,您可以执行以下操作:

首先,以官方教程和文档为起点。

https://cmake.org/cmake-tutorial/

https://cmake.org/documentation/

假设您有一个如下所示的目录:

- myproject
    - CMakeLists.txt
    - main.cpp
    - otherstuff.cpp

如果您没有 CMakeLists.txt 文件,请阅读教程并将源文件名更改为您的。

我建议创建一个单独的目录,其中包含 cmake 程序将创建的所有文件。

mkdir build && cd build

现在你执行 cmake 并告诉它主 CMakeLists.txt 文件在哪里。在我们的例子中,向上一个目录。

cmake ..

将进行配置过程,您会看到告诉您该过程已完成的文本。您将在构建目录中有一个生成文件。你现在要做的就是运行 make 命令。

make

如果您要链接到库,请查看 TARGET_LINK_LIBRARIESINCLUDE_DIRECTORIES 命令。

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2014-11-18
    • 2023-03-06
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    • 2021-01-13
    相关资源
    最近更新 更多