2015-10-04 182 views
0

我计划在C++中使用Open Scene Graph开放世界游戏项目。但是,我很难用最新的MinGW编译带有TTF和PNG插件的库(分别使用freestyle和libpng)。这个文件看起来很稀疏。
为了简单起见,我只会谈论freetype。刚刚使用Cmake和mingw32-make编译它时,它驻留在Dependencies/freetype中,.a编译为Dependencies/freetype/build,并且在构建目录的include子文件夹中有一个空头文件(它本身就是一个解释)。
我想知道哪些环境变量要设置到何处或在哪里复制编译后的输出,以便将它们包含在OSG的构建中。在MinGW上编译openscenegraph

回答

0

如果使用MSYS2软件包存储库中的可用软件包,则可避免编译openscenegraph和其他依赖项。尽管您可能对Unix shell环境不感兴趣,但仍然可以将MSYS2用作通用软件包管理系统,并提供大量软件包。

在你的情况,这是那么容易,因为调用:

pacman -Sy mingw-w64-{i686,x86_64}-openscenegraph mingw-w64-{i686,x86_64}-gcc 

将在<MSYS2_INSTALL_DIR>/mingw{32,64}/安装GCC和OSG中所有需要的依赖。

如果您仍然有兴趣编译源代码的所有内容,请查看构建脚本以构建上述软件包,conveniently located on github(在您的情况下,查找mingw-w64-openscenegraph)。 PKGBUILD文件包含依赖关系和构建步骤。您可以通过下载PKGBUILD(以及在构建过程中使用的其他文件)来自己构建软件包,并从放置PKGBUILD文件的目录中的MSYS2 shell运行makepkg-mingw。这是使用GCC构建Windows的最简单方法。

+0

openscenegraph的图书馆是不是一个包'''错误:目标没有发现:MinGW的-W64-i686的-OpenSceneGraph的 错误:未找到目标:MinGW的-W64-x86_64的-openscenegraph''' – Emersont1

+0

嗯,我会建议做一个关于github的问题报告,你仍然可以尝试用makepkg编译它。 – rubenvb