Macos 如何在OS X上指导OpenSSL的生成输出
我正在OS X上构建OpenSSL。我想将构建的库(Macos 如何在OS X上指导OpenSSL的生成输出,macos,makefile,openssl,Macos,Makefile,Openssl,我正在OS X上构建OpenSSL。我想将构建的库(libcrypto.a,libssl.a等)指向我选择的目录。当前,它们被放在当前工作目录中 我如何做到这一点 这就是我正在做的。我认为为openssldir选项指定目录可以做到这一点,但事实并非如此 ./Configure darwin64-x86_64-cc --openssldir=my-dir make 我想将构建的库(libcrypto.a、libssl.a等)指向我选择的目录。当前,它们被放在当前工作目录中 OpenSSL 1.1
libcrypto.a
,libssl.a
等)指向我选择的目录。当前,它们被放在当前工作目录中
我如何做到这一点
这就是我正在做的。我认为为openssldir
选项指定目录可以做到这一点,但事实并非如此
./Configure darwin64-x86_64-cc --openssldir=my-dir
make
我想将构建的库(libcrypto.a、libssl.a等)指向我选择的目录。当前,它们被放在当前工作目录中
OpenSSL 1.1.0可以在树内或树外构建。OpenSSL 1.0.2在树中构建。在这两种情况下,所有工件都位于OpenSSL根目录中。它有效地硬编码到脚本中(有两三个脚本相互作用)
通过使用makeinstall
跟随构建,您可以将它们放在您选择的目录中。如果您只关心库(libcrypto.a、libssl.a),请手动cp
如果需要,您可以使用以下工具定位工件:
find . -name 'libssl*'
find . -name 'libcrypto*'
find . -name '*\.o'
还有一些关于何时使用
--prefix=XXX
以及何时使用--openssldir=XXX
的规则。它取决于OpenSSL版本号和制作方法,如makeinstall
或makeinstall\u sw
。有关详细信息,请参阅OpenSSL wiki上的。如果需要将OpenSSL输出重新定向到特定目录,则需要执行如下配置脚本:
$ ./configure darwin64-x86_64-cc --prefix=/Users/username/mydir --openssldir=/Users/username/mydir/ssl
其中“username”是您的用户名。在本例中,输出将执行到“~/mydir”目录中。在这里:
--prefix option sets the output directory
--openssldir option sets the ssl settings directory
我想除了
--openssldir
之外,您还需要使用--prefix
选项。对于在OSX上构建的本地OpenSSL,我使用:CC=gcc./Configure darwin64-x64_64-CC--prefix=/path/to/my/dir--openssldir=/path/to/my/dir
。请注意,CC=gcc
环境变量对于更新的OpenSSL构建可能需要的make depend
步骤非常有用。find-名称“./libssl*”
未列出任何内容。但是,find-名称“libssl*”
列出了/libssl.a
和/libssl.pc
。同样适用于libcrypto
@ksl-我的坏。。。我不知道我为什么把它们放在那里。我经常运行这些命令,并且更清楚。。。