【问题标题】:FreeType2 Crash on FT_Init_FreeTypeFT_Init_FreeType 上的 FreeType2 崩溃
【发布时间】:2012-06-25 07:57:30
【问题描述】:

我目前正在尝试学习如何使用 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 文件夹内(调试 .exe 所在的位置)是:freetype6.dll、libfreetype.dll.a、libfreetype-6.dll。 在 Code::Blocks 中,我已链接到 FreeType 2.3.5.1 版本的 lib 和 include 文件夹。 并包含一个编译器标志:-lfreetype

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

【问题讨论】:

    标签: crash sdl freetype2


    【解决方案1】:

    适用于可能偶然发现相同问题但无法解决的人。我将发布我的解决方案:

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

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,原来是我忘记复制 zlib1.dll 文件了。

      【讨论】:

      • 呵呵,是的,使用和管理所有正确的 dll 有时会很麻烦:)
      • 哇,这也解决了我的问题。否则我永远不会解决这个问题!
      • 文件在哪里找到?
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-14
        • 2016-10-13
        • 2011-12-10
        相关资源
        最近更新 更多