使用 Linux 了解 CMake [关闭]
Posted
技术标签:
【中文标题】使用 Linux 了解 CMake [关闭]【英文标题】:Getting head around CMake with Linux [closed] 【发布时间】: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,但我认为它看起来对我来说太麻烦了。感谢您的回复 【参考方案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_LIBRARIES 和 INCLUDE_DIRECTORIES 命令。
【讨论】:
以上是关于使用 Linux 了解 CMake [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 CMake 的自定义 .h 和 cpp 的未定义符号 [关闭]