SimpleAmqpClient 静态编译

最近项目改造,系统使用RabbitMQ做消息分发,其中包括一个C++的客户端,在经过简单调研后,考虑使用SimpleAmqpClient。


但在编译过程中却无法选择静态编译,问题参见:https://github.com/alanxz/SimpleAmqpClient/issues/113

原来是作者还没添加该功能。。。


不可能因为这一个库去修改整个客户端程序的编译方式,在没有更好的选择情况下,只好自己编译静态库。

具体编译步骤如下:

1,编译rabbitmq-c时, rabbitmq-static工程的运行库选择 MT/MTd(当然具体情况随你的项目类型而定)

2,新建win32空项目,类型选择静态库

3,导入SimpleAmqpClient的src目录下的所有文件

4,工程设置中取消预编译头

5,调整编译类型为静态以及运行库为MT/MTd

6,Until.h 中,修改宏:

#define SIMPLEAMQPCLIENT_EXPORT __declspec(dllexport)

改为

#define SIMPLEAMQPCLIENT_EXPORT

说白了就是去掉导出类型

7,RUN


使用步骤:

1,相比动态调用,需要额外添加依赖项:librabbitmq.4.lib

2,引用头文件时,也需要将宏后的内容置空:

#define SIMPLEAMQPCLIENT_EXPORT


OVER

你可能感兴趣的:(C++)