openssl编译情看[转]
vc2008编译openssl
一、前言
由于项目需要用的rabbitmq的c/c++客户端,所以尝试编译rabbitmq-c(注:我的机器是Windows7旗舰版,编译环境是VS2010)。
二、准备工作
-
下载
rabbitmq-c 源码包 http://hg.rabbitmq.com/rabbitmq-c/
-
下载
rabbitmq-codegen 源码包 http://hg.rabbitmq.com/rabbitmq-codegen/
- 下载
python2.7 http://www.python.org/download/
- 下载
simplejson http://pypi.python.org/pypi/simplejson/
- 下载
CMake http://www.cmake.org/
三、安装
-
安装python并设置环境变量(参考http://jingyan.baidu.com/article/48b558e37fd8e67f39c09a6e.html)
-
安装simplejson(参考http://blog.csdn.net/disikexing/article/details/2343585)
-
安装CMake
四、编译
- 运行CMake
-
在Where is the source code 填下载的rabbitmq-c目录,其中目录下 codegen
存放 rabbitmq-codegen
-
在Where to build the binaries 填编译生成目录
-
点Configure按钮,此时会报的错:Could
NOT find OpenSSL, try to set the path to OpenSSL root folder in
thesystem variable
OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES)
,我已经正确设置了环境变量OPENSSL_INCLUDE_DIR,OPENSSL_LIBRARIES,OPENSSL_ROOT_DIR。提示(foundsuitable
version "1.0.1",minimum required is
"0.9.8")说明配置已经读入。有两种解决办法:1、不编译openssl,找到build/CMakeCache.txt,209行,ENABLE_SSL_SUPPORT:BOOL=ON改成ENABLE_SSL_SUPPORT:BOOL=OFF,点Configure按钮,在点Generate按钮开始编译。这时,build下面有我们需要的vc工程文件,编译就好了,但是不支持openssl,用来编译SimpleAmqpClient会通不过
-
第二种办法,找到解压目录下的CMakeLists.txt,240行,find_package(OpenSSL 0.9.8
REQUIRED)前面加#,去掉openssl检查。
-
点Configure按钮正常。
-
点Generate按钮开始编译
-
打开生成的解决方案全编译,会报错,如下。没关系,对应的工程加入opengl,头文件目录,动态库,动态库地址就好