我正在OS X上构建OpenSSL。我想将构建的库(libcrypto.a
,libssl.a
等)引导到我选择的目录中。目前它们被放在当前的工作目录中。
我该如何做到这一点?
这就是我正在做的事情。我认为指定openssldir
选项的目录可能会这样做,但它没有。
./Configure darwin64-x86_64-cc --openssldir=my-dir
make
答案 0 :(得分:2)
我想将构建的库(libcrypto.a,libssl.a等)指向我选择的目录。目前它们被放在当前的工作目录中。
OpenSSL 1.1.0可以构建树内或树外。 OpenSSL 1.0.2在树中构建。在这两种情况下,所有工件都在OpenSSL根目录中。它有效地硬编码到脚本中(其中有两个或三个相互作用)。
通过使用make install
进行构建,将它们放在您选择的目录中。如果你只关心库(libcrypto.a,libssl.a),那么手动cp
。
如果需要,您可以使用以下内容找到工件:
find . -name 'libssl*'
find . -name 'libcrypto*'
find . -name '*\.o'
还有一些关于何时使用--prefix=XXX
以及何时使用--openssldir=XXX
的规则。它取决于OpenSSL版本号和make make install
或make install_sw
等配方。有关详细信息,请参阅OpenSSL wiki上的Compilation and Installation。
答案 1 :(得分:0)
如果您需要将OpenSSL输出重定向到您的特定目录,则需要执行如下配置脚本:
$ ./configure darwin64-x86_64-cc --prefix=/Users/username/mydir --openssldir=/Users/username/mydir/ssl
其中“用户名”是您的用户名。在此示例中,输出将执行到“〜/ mydir”目录中。在这里:
--prefix option sets the output directory
--openssldir option sets the ssl settings directory