Macos OSx如何从两个相互依赖的不同二进制文件创建fat二进制文件

Macos OSx如何从两个相互依赖的不同二进制文件创建fat二进制文件,macos,makefile,openssl,binary,stunnel,Macos,Makefile,Openssl,Binary,Stunnel,基本上,我想做的是创建一个包含Stunnel和openssl的二进制文件(Stunnel依赖于openssl),并在任何mac上工作,而不安装任何东西,只需运行我希望Stunnel工作的二进制文件。 我下载了这两个程序的源代码,使用所需参数运行/configure,也使用所需参数运行make 它们都创建了两个可以执行的二进制文件,我如何连接它们,以及它们需要的所有文件来创建一个可以在任何OSx系统上执行的fat通用二进制文件。 我需要一些指导,一些教程来阅读。我搜索了很多,发现了不同的东西,我不

基本上,我想做的是创建一个包含Stunnel和openssl的二进制文件(Stunnel依赖于openssl),并在任何mac上工作,而不安装任何东西,只需运行我希望Stunnel工作的二进制文件。 我下载了这两个程序的源代码,使用所需参数运行
/configure
,也使用所需参数运行
make

它们都创建了两个可以执行的二进制文件,我如何连接它们,以及它们需要的所有文件来创建一个可以在任何OSx系统上执行的fat通用二进制文件。
我需要一些指导,一些教程来阅读。我搜索了很多,发现了不同的东西,我不知道它们是否正确。大多数情况下,我会找到关于
lipo
,但这无助于我将两个不同的二进制文件、相同的体系结构组合到一个大型二进制文件中。

我认为您使用的技术是错误的。Fat二进制文件不能将多个不同的程序组合到同一个可执行文件中。相反,他们将同一程序的两个或多个体系结构的二进制代码放入一个文件中。要组合多个相关程序和可能关联的数据/配置/库,您需要构建一个。如果您确实需要一个二进制文件来提供所有需要的行为和数据,那么您需要修改相关程序的C代码,并至少编写一点自己的代码,以将程序合并为一个,并内置通常是外部的任何数据。如果您还希望避免外部库依赖,那么在构建时必须针对静态库进行链接。成功地完成所有这些工作将产生一个无依赖性的单一精简二进制文件。您可以继续制作它的胖二进制文件,但这是另一个考虑因素。