Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何删除openssl库依赖项_Linux_Openssl_Dependencies - Fatal编程技术网

Linux 如何删除openssl库依赖项

Linux 如何删除openssl库依赖项,linux,openssl,dependencies,Linux,Openssl,Dependencies,当我试图在其他新机器上执行Linux可执行文件时,我的程序给出了一个关于OpenSSL依赖关系的错误 为了顺利运行我的程序,它需要libssl.so和libcrypto.so预加载 如何在Linux上使用make file或任何其他解决方案删除此依赖关系您似乎将可执行文件与OpenSSL库动态链接。因此,您的可执行文件需要libcrypto.So和libssl.So。你有两种方法: OpenSSL在Linux环境中分布非常广泛,很可能预先安装在运行可执行文件的Linux上。因此,问题可能出在所需

当我试图在其他新机器上执行
Linux可执行文件
时,我的程序给出了一个关于
OpenSSL
依赖关系的错误

为了顺利运行我的程序,它需要
libssl.so
libcrypto.so
预加载


如何在
Linux

上使用make file或任何其他解决方案删除此依赖关系您似乎将可执行文件与OpenSSL库动态链接。因此,您的可执行文件需要libcrypto.So和libssl.So。你有两种方法:

  • OpenSSL在Linux环境中分布非常广泛,很可能预先安装在运行可执行文件的Linux上。因此,问题可能出在所需版本的库中-您的可执行文件可能使用OpenSSL 1.0.1和Linus的0.9.8进行编译。或者问题可能出在库的路径上。在RadHat中,OpenSSL库默认位于/lib64中。因此,您需要使用与您运行的Linux上相同或兼容的OpenSSL版本构建应用程序,或者通过设置LD_LIBRARY_path来提供正确的路径
  • 您可以将可执行静态文件链接到OpenSSL库:

    gcc-lsome_dynamic_lib code.c libcrypto.a libssl.a


  • 由你决定什么能满足你的需要。您可以使用或其他适合您需要的安全库。我只想用make file附加这些依赖项。因此,我可以简单地在make file中使用这一行吗?如果我没有错,您会说,在执行第二个选项后,我将不需要这两个文件在其他机器上运行我的对象文件是,如果您选择第二个选项并与OpenSSL库建立静态链接,那么当我将这些lib文件附加到makefile中时,您将不依赖于OpenSSL.so files。当我尝试编译代码时,它会尝试将所有其他动态代码作为静态代码。你能告诉我libgcc库的路径吗