92 lines
2.0 KiB
Markdown
92 lines
2.0 KiB
Markdown
# XRabbitMQClient 独立包发布指南
|
|
|
|
## 1. 本地构建和测试包
|
|
|
|
### 在 XRabbitMQClient 目录下执行:
|
|
|
|
```bash
|
|
cd XRabbitMQClient
|
|
|
|
# 安装依赖
|
|
conan install . --build=missing -s build_type=Release -s compiler.cppstd=17
|
|
|
|
# 构建包
|
|
conan build .
|
|
|
|
# 创建本地包(会自动构建并打包)
|
|
conan create . -s build_type=Release -s compiler.cppstd=17
|
|
```
|
|
|
|
## 2. 发布到 Conan 远程仓库
|
|
|
|
### 2.1 配置远程仓库(如果还没有)
|
|
```bash
|
|
# 查看已配置的远程仓库
|
|
conan remote list
|
|
|
|
# 添加远程仓库(示例)
|
|
conan remote add my-conan-repo https://your-conan-server.com
|
|
```
|
|
|
|
### 2.2 上传包
|
|
```bash
|
|
# 上传到远程仓库
|
|
conan upload xrabbitmqclient/1.0.0 --remote=my-conan-repo --all
|
|
```
|
|
|
|
## 3. 在其他项目中使用 xrabbitmqclient
|
|
|
|
### 3.1 在你的项目 conanfile.py 中添加依赖:
|
|
|
|
```python
|
|
from conan import ConanFile
|
|
|
|
class MyProjectConan(ConanFile):
|
|
name = "myproject"
|
|
version = "1.0.0"
|
|
settings = "os", "compiler", "build_type", "arch"
|
|
|
|
def requirements(self):
|
|
self.requires("xrabbitmqclient/1.0.0")
|
|
```
|
|
|
|
### 3.2 在 CMakeLists.txt 中使用:
|
|
|
|
```cmake
|
|
find_package(xrabbitmqclient CONFIG REQUIRED)
|
|
target_link_libraries(your_target PRIVATE xrabbitmqclient::xrabbitmqclient)
|
|
```
|
|
|
|
### 3.3 代码中使用:
|
|
|
|
```cpp
|
|
#include <RabbitMQClient.h>
|
|
|
|
int main() {
|
|
// 使用 XRabbitMQClient
|
|
auto client = std::make_unique<RabbitMQClient>();
|
|
// ...
|
|
return 0;
|
|
}
|
|
```
|
|
|
|
## 4. 项目结构说明
|
|
|
|
```
|
|
XRabbitMQClient/
|
|
├── conanfile.py # 独立包的 Conan 配置
|
|
├── CMakeLists.txt # CMake 构建配置
|
|
├── include/ # 公开头文件
|
|
│ ├── IMessageQueue.h
|
|
│ └── RabbitMQClient.h
|
|
└── src/ # 源代码
|
|
└── RabbitMQClient.cpp
|
|
```
|
|
|
|
## 5. 版本更新流程
|
|
|
|
1. 修改 `conanfile.py` 中的 `version` 字段
|
|
2. 提交代码变更
|
|
3. 运行 `conan create .` 创建新版本
|
|
4. 上传新版本到远程仓库
|