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

我有以下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。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值