我有以下makefile,我會以靜態方式添加庫「libcrypto.a」。我需要這樣做,因爲目標系統不能安裝openssl庫。OpenSSL鏈接libcrypto.a以靜態方式

# Environment

MKDIR=mkdir

CP=cp

GREP=grep

NM=x86_64-linux-nm

CCADMIN=CCadmin

RANLIB=x86_64-linux-ranlib

CC=x86_64-linux-gnu-gcc

CCC=x86_64-linux-gnu-g++

CXX=x86_64-linux-gnu-g++

FC=x86_64-linux-gfortran

AS=x86_64-linux-as

# Macros

CND_PLATFORM=GNU-Linux

CND_DLIB_EXT=so

CND_CONF=Release_x86_64

CND_DISTDIR=dist

CND_BUILDDIR=build

# Include project Makefile

include Makefile

# Object Directory

OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}

# Object Files

OBJECTFILES= \

${OBJECTDIR}/_ext/7daaf93a/DtaCommand.o \

${OBJECTDIR}/_ext/7daaf93a/DtaDev.o \

${OBJECTDIR}/_ext/7daaf93a/DtaDevGeneric.o \

${OBJECTDIR}/_ext/7daaf93a/DtaDevOpal.o \

${OBJECTDIR}/_ext/7daaf93a/DtaDevOpal1.o \

${OBJECTDIR}/_ext/7daaf93a/DtaDevOpal2.o \

${OBJECTDIR}/_ext/7daaf93a/DtaHashPwd.o \

${OBJECTDIR}/_ext/7daaf93a/DtaHexDump.o \

${OBJECTDIR}/_ext/7daaf93a/DtaResponse.o \

${OBJECTDIR}/_ext/7daaf93a/DtaSession.o \

${OBJECTDIR}/_ext/b7b9df0c/blockwise.o \

${OBJECTDIR}/_ext/b7b9df0c/chash.o \

${OBJECTDIR}/_ext/b7b9df0c/hmac.o \

${OBJECTDIR}/_ext/b7b9df0c/pbkdf2.o \

${OBJECTDIR}/_ext/b7b9df0c/sha1.o \

${OBJECTDIR}/_ext/822bcbe5/DtaDevLinuxNvme.o \

${OBJECTDIR}/_ext/822bcbe5/DtaDevLinuxSata.o \

${OBJECTDIR}/_ext/822bcbe5/DtaDevOS.o \

${OBJECTDIR}/GetPassPhrase.o \

${OBJECTDIR}/LinuxPBA.o \

${OBJECTDIR}/UnlockSEDs.o

# C Compiler Flags

CFLAGS=-m64

# CC Compiler Flags

CCFLAGS=-m64

CXXFLAGS=-m64

# Link Libraries and Options

LDLIBSOPTIONS=-lcurses -ltinfo

# Build Targets

.build-conf: ${BUILD_SUBPROJECTS}

"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/linuxpba

${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/linuxpba: ${OBJECTFILES}

${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}

${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/linuxpba ${OBJECTFILES} ${LDLIBSOPTIONS} -s

${OBJECTDIR}/_ext/7daaf93a/DtaCommand.o: ../Common/DtaCommand.cpp

${MKDIR} -p ${OBJECTDIR}/_ext/7daaf93a

${RM} "[email protected]"

$(COMPILE.cc) -O2 -Werror -I../linux -I../Common -I../Common/pbkdf2 -std=c++11 -MMD -MP -MF "[email protected]" -o ${OBJECTDIR}/_ext/7daaf93a/DtaCommand.o ../Common/DtaCommand.cpp

#...... SIMILAR FOR THE OTHER ELEMENTS OF "OBJECTDIR ......"

我試圖添加到我的「LDLIBSOPTIONS」幾件事情,但我沒有找到正確的方法來做到這一點,例如:

「-lcrypto」它鏈接庫(不適合我的情況)

「[絕對路徑] /libcrypto.a」它返回「libcrypto.a(dso_dlfcn.o):未定義的引用符號'dlclose @@ GLIBC_2.2.5' //lib/x86_64-linux-gnu/libdl.so.2:添加符號時出錯:D SO從命令行丟失「。

「[絕對路徑] /libcrypto.a -ldl」 libcrypto.a(evp_enc.o):針對`.rodata.str1.1' 創建共享對象時,不能使用重定位R_X86_64_32;與-fPIC

任何建議重新編譯?

+0

你想製作什麼?一個靜態鏈接的可執行文件?或靜態鏈接libcrypto.a的動態鏈接可執行文件?還是共享對象? –

+0

我想要生成一個動態鏈接的可執行文件,它可以靜態鏈接libcrypto.a。 –

linux缺少libeds.so,OpenSSL鏈接libcrypto.a以靜態方式相关推荐

  1. 执行“openssl version“报openssl: /usr/lib/libcrypto.so.3: version `OPENSSL_3.1.0‘ not found (required by

    详细信息如下: openssl: /usr/lib/libcrypto.so.3: version `OPENSSL_3.1.0' not found (required by openssl) op ...

  2. Kali Linux缺少ifconfig命令

    Kali Linux缺少ifconfig命令 ifconfig是配置和查看网络的基础命令.在某些Kali Linux版本中,可能会缺少ifconfig命令.这个时候,用户需要手动安装该命令.该命令隶属 ...

  3. 马哥linux学习笔记:openssl的使用

    linux中主要通过openssl,gpg等工具来实现加密解密机制,这里我只介绍下openssl的使用方法: openssl主要由三部分组成: libencrypto库 libssl库 openssl ...

  4. linux升级openssl需要先卸载吗,linux下安装/升级openssl

    (2810)  (1) 安装环境: 操作系统:CentOs7 OpenSSL Version:openssl-1.0.2j.tar.gz 安装: 目前版本最新的SSL地址为 备注:进入http://w ...

  5. 解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题

    解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题 最近在做使用openssl链接http和https的项目,编译时出现以下 ...

  6. 宝塔linux升级,宝塔linux面板之升级OpenSSL教程

    宝塔linux面板之升级OpenSSL教程,版本,教程,源代码,漏洞,服务器 宝塔linux面板之升级OpenSSL教程 易采站长站,站长之家为您整理了宝塔linux面板之升级OpenSSL教程的相关 ...

  7. Linux缺少qt5core,关于qt5:无法运行Qt应用:找不到版本“ Qt_5”

    我运行Ubuntu 16.04 LTS. 我的问题是我无法运行可以编译的Qt5应用程序. 这是我尝试运行它时得到的: /home/user/Desktop/sconfig/dist/Release/G ...

  8. Linux 裁剪并交叉编译openssl库

    openssl介绍 OpenSSL是功能强大的,商业级,功能齐全的工具包,可用于传输层安全性(TLS)和安全套接字(SSL)协议. 由于与很多软件保持依赖关系,所以很多情况需要安装它- 下载地址 ht ...

  9. rar for linux缺少GLIBC_2.7

      今天安装rar4.0 for linux,遇到了一个缺少GLIBC_2.7的问题,弄了好久才成功,记录一下,以备不时之需. 系统版本为CentOS 5.5.下载了rar4.0 for linux源 ...

  10. linux 交叉编译 libxml2,openssl,libssh2

    版本: libxml2-2.9.1 openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make ins ...

最新文章

  1. Brat序列标注工具小结
  2. 如何自学python爬虫-Python初学者如何从网络爬虫到机器学习?
  3. 在网页上启动你的应用程序
  4. Scala sbt 添加国内镜像
  5. keepalived安装及配置文件详解
  6. 7. 如何创建 CSS
  7. 有关textField左视图leftView和书写位置的设置
  8. 装修细节注意问题 装修细节有哪些
  9. R_ggparliament_会议布局
  10. caffe 人脸识别
  11. IT经理的个人宣言:做一个好男人!
  12. Multipathd Daemon was Unable to Set Options fast_io_fail_tmo or dev_loss_tmo Under UEK1 or RHCK
  13. Java基础语法总结(一)——类与对象
  14. 图网络:从数据处理到DGL模型构建(GCN, GraphSAGE, RGCN)
  15. 简单几步,将官方的Java API文档制作成chm格式文件!
  16. java-爬虫-爬取银行名字列表
  17. 房地产行业erp系统
  18. 检测、获取控制硬件摄像头,扬声器,麦克风的C#小实例
  19. php curl post上传图片,PHP中使用CURL发送get/post请求上传图片批处理功能
  20. python爬虫-selenium模拟登录豆瓣获取cookies给requests使用

热门文章

  1. 研发项目wbs分解简单案例_做项目WBS(工作分解结构)
  2. Hart 常用命令 命令格式+命令含义 中文翻译
  3. Redis实战pdf
  4. 杭电数据结构课程实践-哈密顿图的判断
  5. 简单了解芯片封装技术
  6. Java开源J2EE框架
  7. 【学习笔记】python实现excel数据处理
  8. SVN创建分支-查看分支创建之前文件的历史记录
  9. golang json 转 map 切片 结构体
  10. c语言智能小车项目的感想,智能小车实训报告