cmake-基础脚本

CMakeList

安装

  • sudo apt install cmake
  • 源码安装,官方下载,命令行编译安装

基础脚本

CMakeLists.txt

cmake_minimum_required(VERSION 3.22)
message("myProject")
add_executable(myExec main.cc)

main.cc

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
cout << "Hello" << endl;
return 0;
}

编译方法

  • mkdir build && cd build
  • cmake .. or cmake -G "Unix Makefiles" ..
  • make or cmake --build .

project

使用Ninja

  • 安装sudo apt install ninja

  • 进入build之后,cmake -GNinja ..orcmake -G "Ninja" ..,在之后是ninjaorcmake --build .

  • 注意,ninja是构建器,不是编译器,是利用并行加快构建

多文件

.
├── build
├── CMakeLists.txt
├── main.cc
├── math.cc
└── math.hh

main.cc

#include <iostream>
#include "math.hh"
using namespace std;
int main(int argc, char **argv)
{
cout << "Hello" << endl;
sum();
return 0;
}

math.cc

#include <iostream>
void sum(void)
{
std::cout << "sum is 23" << std::endl;
}

math.hh

#ifndef _MATH_HH_
#define _MATH_HH_
void sum(void);
#endif

CMakeLists.txt

cmake_minimum_required(VERSION 3.22)
message("Hello myProject")
project(myProject LANGUAGES C CXX)
add_executable(myExec main.cc math.cc)
posted @   steve的miao  阅读(81)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示