2

我正在尝试构建一些在 Ubuntu 中使用 EVP_* 函数的代码,但是当我构建时,我得到了可怕的“未定义引用”错误。

我正在使用 Ubuntu 11.10。

以下行是我的编译方式:

g++ -lcrypto -lssl  *.cpp  -o IOService
[...]
crypto.cpp:(.text+0x8): undefined reference to `EVP_md5'
[...]

cpp 文件包括 openssl/evp.h。

我已经安装了 libssl1.0.0-dbg 包,但是这些库安装在 /usr/lib/debug/lib/i386-linux-gnu/ 中,我的链接器似乎找不到它们。我尝试软链接和复制 .so 文件,但无济于事(我觉得这不是要走的路)。

4

1 回答 1

3

ld 是一次性链接器,这意味着您必须在使用它们的目标文件之后g++ *.cpp -o IOService -lcrypto添加库:(如果您只需要 md5,我认为不需要 libssl)

于 2012-04-10T15:28:38.973 回答