gpt4 book ai didi

makefile - BoringSSL 的 undefined symbol

转载 作者:行者123 更新时间:2023-12-02 14:41:43 33 4
gpt4 key购买 nike

我正在使用 BoringSSL 编写一个测试应用程序,当我执行它时,我收到此错误:

symbol lookup error: ./main: undefined symbol: SSL_CTX_set_min_proto_version

所有需要的库都链接到我的 makefile 中:

CC = g++
FLAGS = -Wall -g
INCLUDES = -I/home/denis/libraries/boringssl/include
LIBS = -L/home/denis/libraries/boringssl/build/crypto -L/home/denis/TLS-Bibliotheken/boringssl/build/ssl -lcrypto -lssl
OBJ = Main.o BoringSSLTest.o

# Link files
main: $(OBJ)
$(CC) $(FLAGS) -o main $(OBJ) $(LIBS)

# Compile files
Main.o: Main.cpp
$(CC) $(FLAGS) -c $(INCLUDES) Main.cpp

BoringSSLTest.o: BoringSSLTest.cpp BoringSSLTest.h
$(CC) $(FLAGS) -c $(INCLUDES) BoringSSLTest.cpp

clean:
$(RM) $(OBJ) main

当我用 nm libssl.so | grep SSL_CTX_set_min_proto_version 查找符号的定义时我发现它不是未定义的 (T)。

为什么不起作用?

最佳答案

它可能加载了错误版本的 libssl.so在运行时。调用ldd ./main查看它加载的位置 libssl.so来自。

当您使用-L<dir>时从非标准位置链接共享库的链接器选项,您需要相应的 -Wl,-rpath=<dir>链接器选项告诉运行时链接器从那里加载库。

关于makefile - BoringSSL 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53740863/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com