我有一套或多或少可移植的C上交叉编译/ C++源坐在一个Linux开发主机上,我希望能够:Linux主机的各种目标
- 编译32 - 和64位Linux目标
- 交叉编译为32位和64位Windows的目标为32位和64位
- 交叉编译的Mac目标
- 和,理想情况下,不会对其他任何运行时依赖仿真DLL就像
cygwin1.dll
,MinGW等,虽然我可以使用它们,如果没有其他选择。如果我必须使用它们,我宁愿将它们的功能静态链接到我的代码。
所期望的目标二进制是:
共享库(的.so)用于Linux和Mac目标,
为Windows DLL。
我不知道如何从头构建一个交叉编译器(和相关的工具链)。我听说预构建的交叉编译器工具链可用于各种主机和目标组合,但我不知道在哪里可以找到它们,甚至不知道如何使用它们而不会运行到运行时崩溃/ coredumps,因为指针模型微妙(LP64,LLP64等),指定错误或不足的编译器开关,其他错误配置等
我到目前为止一直无法找到上述的相关和完整的信息,我找到的东西已经遍布各处,我甚至都不知道我读到的所有东西是完整的还是正确的(完全适用,对我的情况不会更少)。
我不是一个编译器专家,只是他们的普通用户。希望获得实现上述编译目标的信息。