小编Pen*_*lec的帖子

让 ld 选择正确的库

我正在尝试编译一个程序prog并将其链接到 OpenSSL 的 1.0.2 测试版,从源代码构建并安装在/usr/local/ssl-1.0.2. 在使用 0.9.8 的旧系统上,这没有太多麻烦。在安装了 1.0.1 的较新系统上,这需要做更多的工作。我想知道为什么。

1) 在 Ubuntu 10.04 上,使用 OpenSSL 0.9.8:

以下是我按照 1.0.2 编译和链接的步骤。

$ ./config shared --openssldir=/usr/local/ssl-1.0.2 && make && make install
$ ldconfig
$ ldconfig -p | grep libcrypto
Run Code Online (Sandbox Code Playgroud)

=> 只显示 0.9.8 文件,所以我添加了 1.0.2 文件的路径...

$ ldconfig /usr/local/ssl-1.0.2/lib
$ ldconfig -p | grep libcrypto
Run Code Online (Sandbox Code Playgroud)

=>

 libcrypto.so.1.0.0 (libc6) => /usr/local/ssl-1.0.2/lib/libcrypto.so.1.0.0
 libcrypto.so.0.9.8 (libc6, hwcap: 0x0008000000008000) => /lib/i686/cmov/libcrypto.so.0.9.8
 libcrypto.so.0.9.8 (libc6, hwcap: 0x0004000000000000) => /lib/i586/libcrypto.so.0.9.8
 libcrypto.so.0.9.8 (libc6, hwcap: 0x0002000000000000) => /lib/i486/libcrypto.so.0.9.8
 libcrypto.so.0.9.8 …
Run Code Online (Sandbox Code Playgroud)

compiling dynamic-linking openssl

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

compiling ×1

dynamic-linking ×1

openssl ×1