如何为 Windows 中的 mingw/msys2 交叉编译 Ubuntu 中的库?

How to cross compile a library in Ubuntu for mingw/msys2 in Windows?

我有一个需要在 msys2 环境中使用的 sqlite 库,它无法访问互联网。我想在 msys2 环境中编译并给出二进制文件的路径。

我该如何做常规

./configure --prefix=/path/to/my/folder/
make 
make install

with x64_86-w64-mingw-gcc 作为默认编译器及其各自的库。


我首先尝试使用 export CC=x64_86-w64-mingw-gcc 和 运行 以上命令。 它在

给我一个错误

checking whether we are cross compiling: error... If you are cross compiling, use --host.

如何使用主机?我应该传递给配置的值是什么,以便该库是可在 Msys2 环境中使用的二进制文件。

我不能说所有不同的架构,但对于 mingw 平台,我们可以

./configure --prefix=/path/to/my/folder --host=x86_64-w64-mingw32

您无需指定抄送。它将使用上述主机作为编译器的前缀,即,将使用 x86_64-w64-mingw32-gcc.


不知道是不是真的,你可以自己试试,如果你的编译器是arm64-gcc那就试试把--host=arm64


这解决了我的问题,我不认为这是通用的解决方案,在有人回答更通用的解决方案之前,我会将我的答案标记为正确的。