我正在编译一个针对OpenSSL静态库libssl.a和libcrypto.a链接的包,这些库都包含在Debian/Ubuntu中的libssl-dev中。然而,这些文件的实际位置取决于当前的体系结构和分发。
我是否可以在Makefile中使用某种方法或环境变量为链接器提供指向带有静态库的系统目录的正确路径?目前我正在使用:
-L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/i686-linux-gnu/ -lssl -lcrypto但是,如果这些dir不存在,并且可能仍然无法正常工作,则会发出大量警告。
发布于 2014-10-17 09:27:40
如果您确信您的用户正在使用aptitude作为包管理器,这是Debian/Ubuntu的默认设置,而不是您可以使用apt文件来定位库。
$ apt-file update
$ LIBSSL_PATH=`apt-file list libssl-dev | grep libssl.a | awk '{ print $2 }'`
$ LIBCRYPTO_PATH=`apt-file list libssl-dev | grep libcrypto.a | awk '{ print $2 }'`接下来你可以使用它们。在我的机器上说:
$ echo $LIBSSL_PATH
/usr/lib/libssl.a我不知道其他的方法,也怀疑是否存在。
发布于 2021-01-14 07:47:48
我也在为我的ubuntu机器而挣扎。通过使用以下命令,我能够找到库。
sudo find libssl.a / | grep libssl.aubuntu的默认位置是。
/usr/lib/x86_64-linux-gnu/libssl.ahttps://stackoverflow.com/questions/26415485
复制相似问题