linux上编译openssl源码生成libcrypto.so库:
第一步:下载OpenSSL源码
https://www.openssl.org/source/
第二步:解压压缩包
tar zxvf openssl-1.1.1k.tar.gz
我的压缩包的目录位置:/home/openssl-1.1.1k.tar.gz
解压后的源码根目录:/home/openssl-1.1.1k
第三步:新建一个文件夹 openssl
/home/openssl
第四步:经典三部曲 .config 、make 、 make install
在OpenSSL源码根目录下:
./config shared --prefix=/home/openssl --openssldir=/home/openssl/ssl
prefix是安装目录,openssldir是配置文件目录,shared作用是生成动态连接库。
之后依次执行以下编译命令到编译完成即可:
make
make install
全部完成之后在安装目录下会有lib文件夹,里面有我们需要的动态库和静态库文件
libcrypto.a libcrypto.so libcrypto.so.1.1 libssl.a libssl.so libssl.so.1.1
第四步:通过CMakeList.txt把我们生成的库文件链接到项目即可
cmake_minimum_required(VERSION 3.5)
set(BIN_NAME "calc")
if (${CMAKE_SYSTEM_NAME} MATCHES "QNX")
set(LIBS socket crypto)
else()
set(LIBS pthread crypto)
endif()
# 4. customer codes:
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/openssl/include)
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/openssl/lib)
add_executable(${BIN_NAME}
${DIR_SRCS}
)
target_link_libraries(${BIN_NAME}
${LIBS}
)
# 3. Install
install(TARGETS ${BIN_NAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})