我在 (Ubuntu) Linux 上编写 C++ 应用程序并将它们编译到 2 个操作系统:本机到Linux通过使用“g++”(GNU C++编译器)并将它们交叉编译为Windows通过使用“i386-mingw32-g++”(MinGW C++ 交叉编译器)。
现在,我正在尝试交叉编译“OpenGL”应用程序(从 Linux 到 Windows) - 为此我需要一些 OpenGL 库文件。
作为OpenGL的实现,我使用“Mesa 3D”开源库。幸运的是,Ubuntu 提供了“预编译的”mesa3d 库(libgl1-mesa-dev and libglu1-mesa-dev)适用于 Linux,但不幸的是,没有任何预编译库可与 MinGW 交叉编译器一起使用(因此它们的 Windows 版本) - 所以我“必须”手动“从源代码”编译它们(可以从http://www.mesa3d.org http://www.mesa3d.org主页)。
但我不知道这样做。在 mesa3d 源代码中,有一些文档如何为某些特定平台构建库 - 特别是“README.MINGW32”自述文件。
但就在第一行有一些命令
mingw32-make -f Makefile.mgw [OPTIONS...]
我无法运行,因为我没有安装任何“mingw32-make”程序。通过其他软件,我曾经用“经典”来构建它们
./configure -> make -> make install
过程,但这不适用于 mesa3d 库。
例如,我也尝试过
./configure --host=i386-mingw32
并且已经配置好,但是输入后
make
它引发了一些错误
error: #error No PIPE_SUBSYSTEM_WINDOWS_xxx subsystem defined.
现在我迷失了:-(。
那么有人知道如何构建 mesa3d 库以便与 mingw32 一起使用它们吗?
P.S.:而且当然,我不想要不再使用 Microsoft Visual Studio :-) 。我还想做所有必要的事情来从 Linux 构建 OpenGL 环境并使用 mingw32 进行交叉编译。我希望这是可能的。
P.S.2: On http://www.mesa3d.org/systems.html http://www.mesa3d.org/systems.html页面上写道,将 MinGW 与 Mesa 3D 一起使用已“已弃用”。我这样使用它的方法正确吗?