Yar*_*eli 2 c++ makefile compilation cmake ninja
我是忍者新手。还是不知道怎么用。
我创建了一个简单的hello.cpp文件:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 Linux Ubuntu。
我已经安装了 CMake:apt install cmake
我已经安装了忍者:apt-get install ninja-build
但现在我应该怎么做才能用hello.cppNinja 编译我的文件呢?
我尝试运行ninja,但出现以下错误rules.ninja:
ninja: error: build.ninja:30: loading 'rules.ninja': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我不知道如何创建rules.ninja和如何配置它,也不知道我是否错过了更多的东西。
CMakeLists.txt这里假设您根本没有文件。要编译该程序,首先需要创建一个CMakeLists.txt文件。CMake 使用此文件来配置项目。
CMakeLists.txt(将其放在与源文件相同的文件夹中):
cmake_minimum_required(VERSION 3.8)
project(my_exe)
set(CMAKE_CXX_STANDARD 14) # Try 11 if your compiler does not support C++14
add_executable(my_exe hello.cpp)
Run Code Online (Sandbox Code Playgroud)
然后,您需要调用 CMake(在终端中,转到包含该文件的文件夹CMakeLists.txt)并稍后构建项目。
首先,您应该创建一个构建目录。这很方便,因为您不想将构建输出与项目文件混合。
mkdir build
cd build
Run Code Online (Sandbox Code Playgroud)
然后,调用 CMake 并告诉它生成 Ninja 构建系统 ( -GNinja),同时告诉它CMakeLists.txt文件所在的位置 ( ..),该文件应该位于build文件夹的正下方:
cmake -GNinja ..
Run Code Online (Sandbox Code Playgroud)
现在,您已准备好构建可执行文件:
ninja
Run Code Online (Sandbox Code Playgroud)
完毕。my_exe您的文件夹中现在应该有一个可执行文件名称build。
| 归档时间: |
|
| 查看次数: |
4307 次 |
| 最近记录: |