在 MinGW 上编译 openscenegraph
Compiling openscenegraph on MinGW
我计划将 Open Scene Graph 用于 C++ 开放世界游戏项目。但是,我在最新的 MinGW 上使用 TTF 和 PNG 插件(分别使用 freestyle 和 libpng)编译库时遇到了困难。这方面的文档似乎很少。
为简单起见,我将仅讨论 freetype。刚刚使用 Cmake 和 mingw32-make 编译了它,它位于 Dependencies/freetype
中,编译后的 .a
位于 Dependencies/freetype/build
中,包含一个空头文件(本身需要解释)构建目录的子文件夹。
我想知道将哪些环境变量设置到何处或将编译输出复制到何处,以便将它们包含在 OSG 的构建中。
如果您使用 MSYS2 包存储库中提供的包,则可以避免编译 openscenegraph 和其他依赖项。尽管您可能对 Unix shell 环境不感兴趣,但您仍然可以将 MSYS2 用作通用的包管理系统,其中包含大量可用的包。
对于您的情况,只需拨打以下电话即可:
pacman -Sy mingw-w64-{i686,x86_64}-openscenegraph mingw-w64-{i686,x86_64}-gcc
这将安装 GCC 和 Openscenegraph,所有必需的依赖项都在 <MSYS2_INSTALL_DIR>/mingw{32,64}/
。
如果您仍然对从源代码编译所有内容感兴趣,请查看构建脚本以构建上述包,conveniently located on github(在您的情况下,寻找 mingw-w64-openscenegraph
)。 PKGBUILD 文件包含依赖项和构建步骤。您可以通过下载 PKGBUILD(以及它旁边的其他文件,用于构建过程)和来自 MSYS2 shell 的 运行 makepkg-mingw
来自己构建软件包你把 PKGBUILD 文件。这是迄今为止使用 GCC 为 Windows 构建内容的最简单方法。
我计划将 Open Scene Graph 用于 C++ 开放世界游戏项目。但是,我在最新的 MinGW 上使用 TTF 和 PNG 插件(分别使用 freestyle 和 libpng)编译库时遇到了困难。这方面的文档似乎很少。
为简单起见,我将仅讨论 freetype。刚刚使用 Cmake 和 mingw32-make 编译了它,它位于 Dependencies/freetype
中,编译后的 .a
位于 Dependencies/freetype/build
中,包含一个空头文件(本身需要解释)构建目录的子文件夹。
我想知道将哪些环境变量设置到何处或将编译输出复制到何处,以便将它们包含在 OSG 的构建中。
如果您使用 MSYS2 包存储库中提供的包,则可以避免编译 openscenegraph 和其他依赖项。尽管您可能对 Unix shell 环境不感兴趣,但您仍然可以将 MSYS2 用作通用的包管理系统,其中包含大量可用的包。
对于您的情况,只需拨打以下电话即可:
pacman -Sy mingw-w64-{i686,x86_64}-openscenegraph mingw-w64-{i686,x86_64}-gcc
这将安装 GCC 和 Openscenegraph,所有必需的依赖项都在 <MSYS2_INSTALL_DIR>/mingw{32,64}/
。
如果您仍然对从源代码编译所有内容感兴趣,请查看构建脚本以构建上述包,conveniently located on github(在您的情况下,寻找 mingw-w64-openscenegraph
)。 PKGBUILD 文件包含依赖项和构建步骤。您可以通过下载 PKGBUILD(以及它旁边的其他文件,用于构建过程)和来自 MSYS2 shell 的 运行 makepkg-mingw
来自己构建软件包你把 PKGBUILD 文件。这是迄今为止使用 GCC 为 Windows 构建内容的最简单方法。