1

系统与环境

  • 视窗 7(64 位)
  • MinGW 4.6.1
  • Eclipse Indigo(在构建过程中没有真正使用)
  • Windows PowerShell(以管理员身份运行)

问题摘要

我正在尝试在上述环境中构建 Allegro5。这最初是有效的,我能够链接到 allegro 和 allegro-image 并且没有问题。但是,当我尝试链接到 allegro-ttf 时,它没有被检测到。

我回到我的日志并没有找到 freetype,所以 ttf 支持被放弃了;哎呀!我得到了 freetype 并着手重建 Allegro5。

我不会复制完整的构建消息,而是在一个新的构建目录中:

cmake .. -G "MinGW Makefiles"
...stuff
Found Freetype: C:/Program Files (x86)/GnuWin32/lib/libfreetype.dll.a
...stuff

看起来不错。让我们编译!

C:\Program Files\MinGW\allegro\build> mingw32-make -j4
...stuff
Scanning dependencies of target allegro_acodec
[ 24%] Building C object addons/acodec/CMakeFiles/allegro_acodec.dir/acodec.c.obj
[ 24%] Building C object addons/acodec/CMakeFiles/allegro_acodec.dir/wav.c.obj
Linking C shared library ..\..\lib\allegro_acodec-5.0.dll
Creating library file: ..\..\lib\liballegro_acodec.dll.a
[ 24%] Built target allegro_acodec
Scanning dependencies of target allegro_ttf
"C:/Program: Interrupt/Exception caught (code = 0xc0000005, addr = 0x004132f6)
mingw32-make[1]: *** [addons/ttf/CMakeFiles/allegro_ttf.dir/all] Error 255
mingw32-make: *** [all] Error 2

其他详情

我可以让我的生活更轻松并获得预构建的二进制文件,但这主要是一种教育性的吞噬。一个让我尴尬的时间。

我安装了现在检测到的 freetype2。所以 ttf 包含在构建过​​程中。我不确定 freetype2 是否应该受到责备。我确保获得了开发文件,但编译失败。然后我尝试自己构建freetype2,但它没有改变任何东西,同样的问题。

我不确定问题是什么。我相信 0x5 是访问冲突吗?也许这与“程序文件”中有一个空格有关,并且在错误中我们看到“C:/程序”?我没有直接提供路径,它们在我的路径变量中。我尝试将路径用引号括起来,但这会导致它们根本不起作用。也许还有另一种方法?

我在这里是一条没有水的鱼。我会很感激任何帮助。如果您需要有关我的设置的更多详细信息,请发表评论!

感谢您的时间<3

4

1 回答 1

2

如果你有 c:\allegro\build (你从那里运行 cmake),那么我会创建 c:\allegro\build\deps\lib c:\allegro\build\deps\include 并放置文件(例如,freetype等)在那里。Allegro 将自动扫描这些位置。

于 2012-02-23T20:49:10.220 回答