在C++中使用CMake来封装动态库有以下几个步骤:
# CMake 最低版本要求
cmake_minimum_required(VERSION 3.10)
# 项目名称
project(mylibrary)
# 设置生成动态库
add_library(mylibrary SHARED
src/myclass.cpp
)
# 指定头文件目录
target_include_directories(mylibrary PUBLIC
include
)
在上面的示例中,创建了一个名为mylibrary的动态库,其中包含了src目录下的myclass.cpp文件,并指定了include目录作为头文件目录。
// src/myclass.cpp
#include "myclass.h"
void MyClass::hello() {
std::cout << "Hello from MyClass!" << std::endl;
}
在上面的示例中,实现了一个名为MyClass的类,并在hello函数中输出一条消息。
// include/myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
#include <iostream>
class MyClass {
public:
void hello();
};
#endif
在上面的示例中,声明了一个名为MyClass的类,并声明了一个hello函数。
在项目根目录下执行以下命令进行项目编译:
mkdir build
cd build
cmake ..
make
编译完成后,将在build目录下生成动态库文件libmylibrary.so。
通过以上步骤,就可以在C++中使用CMake来封装动态库。