CMake 构建静态库和动态库

静态库

项目结构:
image

Message.h

#pragma once

#include <iosfwd>
#include <string>

class Message {
public:
    Message(const std::string& m);
    void printMsg(void);
    void setMsg(const std::string& m);

private:
    std::string message_;
};

Message.cpp

#include "Message.h"

#include <iostream>

Message::Message(const std::string& m)
{
    message_ = m;
}

void Message::printMsg(void)
{
    std::cout << message_ << std::endl;
}

void Message::setMsg(const std::string& m)
{
    message_ = m;
}

CMakeLists文件

# 指定 CMake 最低版本
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(message)

aux_source_directory(src src_dir)

add_library(message
            STATIC
            ${src_dir})

编译

  1. cmake -G Ninja ..
  2. cmake --build .
posted @ 2023-11-07 20:47  小土坡  阅读(20)  评论(0编辑  收藏  举报