linux上编译openssl源码生成libcrypto.so库

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})
posted @ 2022-11-29 22:54  牛博张  阅读(3786)  评论(0编辑  收藏  举报