FT_Init_FreeType上的FreeType2崩溃

时间:2012-06-25 07:57:30

标签: crash sdl freetype2

我目前正在尝试学习如何使用FreeType2库来绘制OpenGL字体。但是,当我启动程序时,它立即崩溃并出现以下错误:“(无法正确启动应用程序(0xc000007b))”

评论FT_Init_FreeType会删除错误,我的游戏就开始了。我想知道这是我的代码还是与加载dll文件有关。

我的代码:

#include "SpaceGame.h"
#include <ft2build.h>
#include FT_FREETYPE_H

//Freetype test
FT_Library library;

Game::Game(int Width, int Height)
{

    //Freetype
    FT_Error error = FT_Init_FreeType(&library);
    if(error)
    {
        cout << "Error occured during FT initialisation" << endl;
    }

我目前使用FreeType2文件。 在我的bin文件夹(debug .exe所在的位置)里面是:freetype6.dll,libfreetype.dll.a,libfreetype-6.dll。 在Code :: Blocks中,我链接到FreeType 2.3.5.1版本的lib和include文件夹。 并包含一个编译器标志:-lfreetype

如果我注释掉FT_Init函数,这意味着包含,并且库文件应该没问题,我的程序就会完全正常。

3 个答案:

答案 0 :(得分:2)

对于那些可能会遇到同样问题并且无法找到问题的人。我会发布我的解决方案:

似乎错误代码ussualy出现了加载.dll的。我使用进程资源管理器来检查我的程序是否实际加载了正确的.dll,但事实并非如此。我删除了我的FreeType dll并将其替换为专门为我的windows版本编译的版本,以确保我有正确的dll。用新的替换旧的帮助。

答案 1 :(得分:1)

我遇到了同样的问题,结果发现我忘了复制zlib1.dll文件。

答案 2 :(得分:1)

我有同样的“无法正确启动”错误。事实证明我的程序在c:\ intel \ wifi \ bin之类的东西中找到了一个zlib1.dll,DependencyWalker标记为AMD64(我的PC是Win7 64,但我的应用程序是32位。)当我复制freeType时它被修复了zlib1.dll到SysWOW64。坚韧的坚果要破解!