c++ - 配置 C++ 应用程序构建的简单方法

标签 c++ build cmake

有些人使用自动工具,有些人编写 makefile,有些人声称配置 C++ 构建的最佳方法是使用 CMake。

我正在研究一些 CMake 文件,但是似乎需要编写很多内容才能使用一些外部库(如 boost 或其他库)获得最简单的配置。

我一直在仔细研究例如SOCI CMake 文件(可在 http://sourceforge.net/p/soci/code-0/ci/a0c04683595a1c7c3d442c9cc8b3ec6804062f31/tree/src/cmake/ 获取),看起来代码量相当大。

是否可以以更简单的方式配置 C++ 应用程序?我只想构建一个 C++ 应用程序,包括一些目录,包括一些库。而且,我想在不同的机器上构建它。

最佳答案

最简单的 CMakeList(包括 Boost)可能就是这样:

cmake_minimum_required(VERSION 2.8)
project(MyProject)

find_package(Boost 1.48.0 REQUIRED)

include_directories(${Boost_INCLUDE_DIRS})

add_executable(MyExeTarget source1.cpp source2.cpp header1.h header2.h)

如果您使用的 Boost 部分需要链接,您可以这样做:

cmake_minimum_required(VERSION 2.8)
project(MyProject)

find_package(Boost 1.48.0 REQUIRED COMPONENTS filesystem)

include_directories(${Boost_INCLUDE_DIRS})

add_executable(MyExeTarget source1.cpp source2.cpp header1.h header2.h)

target_link_libraries(MyExeTarget ${Boost_LIBRARIES})

这些只是帮助您入门的简单示例。请参阅 FindBoost 的 CMake 文档,了解有关在 CMake 中使用 Boost 的更多信息。

关于c++ - 配置 C++ 应用程序构建的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15224167/

相关文章:

c++ - 转发函数指针

c# - __MonoCS__ 在单声道 5.0 中不起作用。如何在编译时确定平台?

c++ - 如何安装opencv4nodejs模块

c++ - 我们应该将#include 移动到 namespace 吗?

c++ - 如何修复 C++ 上的段错误

java - 我不应该将哪些 java android 文件上传到我的 SVN 服务器?

.net-core - TFS 2017 部署 ASP .NET Core

cmake - 是否可以直接使用 MSBuildTools 构建 cmake 项目

qt - 在 Qt Creator 上维护 CMake

C++读取文件时忽略某些字符串