【问题标题】:CMake does not create make file [duplicate]CMake不创建make文件[重复]
【发布时间】:2019-04-08 23:40:32
【问题描述】:

我正在使用 cmake 来构建项目。我是 C++ 新手,所以可能会出现错误,因为我不知道它在内部是如何工作的。

当我在构建目录中运行 cmake 命令时,响应不会给出任何错误。输出如下图所示。image after cmake command

现在,当我转到 test 目录时,我会看到这些文件。

image of test directory

正如我已经说过的,我不知道它在内部是如何工作的,但是按照一些在线教程,我希望应该有一个 make 文件,但我不明白。

任何帮助都会很好,因为我从 3 天开始就被困在这个设置中。 这就是接下来要做的事情:

首先,标准的构建文件应该从 这些配置文件: cd test/ && mkdir build && cd build, cmake .. 请注意,您只需运行这些命令一次。接下来,您可以使用平台的原生构建工具 对于实际建筑: make -j10 并使用以下方法训练单个决策树或 bagging 分类器: ./DecisionTreeTest,和 ./BaggingTest,

【问题讨论】:

  • CMake 可以使用多种构建系统。您正在生成一个视觉工作室项目。您可以使用 -G 选项指定要使用的内容。 cmake --help 应该列出可供您使用的不同生成器。
  • 看起来您的默认设置是为您制作一个可爱的 Visual Studio 解决方案。 .sln.vcxproj 文件分别是 Visual Studio 解决方案和 C++ 项目文件。
  • 你安装了什么编译器/IDE?
  • @Tzalumen 我有 Visual Studio 2019。
  • 你有忍者文件吗? ninja.rules 或类似的?

标签: c++ cmake ninja


【解决方案1】:

如果你有 Visual Studio 2019,你会想要运行你的 cmake(从构建目录)

cmake -G "Visual Studio 16 2019" ..

您将在您的构建文件夹中生成一个新配置和.sln

从那里您可以在 Visual Studio 中打开 .sln,或运行(在您的构建目录中)

cmake --build .

开始编译调试版本或

cmake --build . --config Release

用于发布版本。

【讨论】:

  • Visual Basic 的问题是,当我在 IDE 中打开 .sln 并尝试构建它时,我收到错误 invalid numeric argument /weffc++CMakeList.txt 中提到了这一点
  • target_compile_options(DecisionTreeTest PRIVATE -Wall -Weffc++ -Wpedantic)
  • Weffc++ 是一个 GCC 标志,它不应该与 Microsoft 的 C++ 编译器 (MSVC) 一起使用。
猜你喜欢
  • 1970-01-01
  • 2014-11-29
  • 2017-05-17
  • 1970-01-01
  • 2010-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多