CMake 构建静态库和动态库
静态库
项目结构:
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})
编译
cmake -G Ninja ..
cmake --build .