阅读量:121
在C++中使用CMake来封装动态库有以下几个步骤:
- 创建一个CMakeLists.txt文件,用于描述项目的构建过程,并指定生成动态库的规则。
# 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目录作为头文件目录。
- 创建C++源文件,实现需要封装的类或函数。
// src/myclass.cpp
#include "myclass.h"
void MyClass::hello() {
std::cout << "Hello from MyClass!" << std>
在上面的示例中,实现了一个名为MyClass的类,并在hello函数中输出一条消息。
- 创建头文件,声明需要封装的类或函数。
// include/myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
#include
class MyClass {
public:
void hello();
};
#endif
在上面的示例中,声明了一个名为MyClass的类,并声明了一个hello函数。
- 编译项目。
在项目根目录下执行以下命令进行项目编译:
mkdir build
cd build
cmake ..
make
编译完成后,将在build目录下生成动态库文件libmylibrary.so。
通过以上步骤,就可以在C++中使用CMake来封装动态库。