未定义的符号'BIO_ctrl @@ libcrypto.so.10'的引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未定义的符号'BIO_ctrl @@ libcrypto.so.10'的引用相关的知识,希望对你有一定的参考价值。

嘿家伙我在尝试运行这个C ++文件时遇到了一个奇怪的g ++编译错误,这里是精确的重复步骤。

# install taglib-devel
$ sudo yum -y install taglib-devel 

$ cd /tmp && git clone https://gist.github.com/1468279.git; cd 1461468279/
$ gcc -g base64.c -lssl -c; 

# install cmake
$ sudo yum install cmake 
$ cd /tmp

# install taglib again =/
$ git clone git@github.com:taglib/taglib.git && cd taglib
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release .; make; sudo make install

$ cd /tmp/1461468279 && g++ -g -I. -I/usr/local/include/taglib -L/usr/local/lib -ltag -lssl setcover.cpp -o setcover base64.o


# response
/usr/bin/ld: base64.o: undefined reference to symbol 'BIO_ctrl@@libcrypto.so.10'
/usr/bin/ld: note: 'BIO_ctrl@@libcrypto.so.10' is defined in DSO /lib64/libcrypto.so.10 so try adding it to the linker command line
/lib64/libcrypto.so.10: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
答案

g ++ ... -L / usr / local / lib -ltag -lssl setcover.cpp -o setcover

以上命令不正确。要了解它为什么不正确,以及如何解决它,请阅读this

另一答案

我认为在你输入的命令中缺少-lcrypto

以上是关于未定义的符号'BIO_ctrl @@ libcrypto.so.10'的引用的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 高级自定义字段插件未正确输出

error:: undefined reference to symbol '__glewBufferSubData' 未定义的引用 以及 error: ma

_ctypes.cpython-39-x86_64-linux-gnu.so:未定义符号:使用 dlopen 加载的嵌入式 Python 中的 PyFloat_Type

错误:未定义符号:gzclose opencv emscripten

使用 Python.h 未定义符号进行 C++ 编译

与静态库中的 std::string 相关的 C++ 未定义符号