freetype2使用问题

didijiji 2013-06-14 08:07:16
我下载了freetype-2.4.12,然后在使用的时候碰到一下几个问题:


gcc font.c
In file included from font.c:3:
/usr/local/include/ft2build.h:56:38: error: freetype/config/ftheader.h: No such file or directory
font.c:4:10: error: #include expects "FILENAME" or <FILENAME>
font.c: In function ‘main’:
font.c:47: error: ‘FT_Library’ undeclared (first use in this function)
font.c:47: error: (Each undeclared identifier is reported only once
font.c:47: error: for each function it appears in.)
font.c:47: error: expected ‘;’ before ‘library’
font.c:48: error: ‘FT_Face’ undeclared (first use in this function)
font.c:48: error: expected ‘;’ before ‘face’
font.c:61: error: ‘library’ undeclared (first use in this function)
font.c:67: error: ‘face’ undeclared (first use in this function)
font.c:86: error: ‘FT_LOAD_DEFAULT’ undeclared (first use in this function)
font.c:92: error: ‘FT_GLYPH_FORMAT_BITMAP’ undeclared (first use in this function)
font.c:94: error: ‘FT_RENDER_MODE_MONO’ undeclared (first use in this function)


但是freetype/config/ftheader.h是存在的啊,而且路径也没错,为什么呢?


...全文
337 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一根烂笔头 2013-08-06
  • 打赏
  • 举报
回复
软件安装,首先看README文件,所有安装工作都在这里说明 如果想省事,中断敲指令。在线安装!
图灵狗 2013-08-06
  • 打赏
  • 举报
回复
用于开发的意思。
引用 8 楼 didijiji 的回复:
[quote=引用 4 楼 turingo 的回复:] 库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
[quote=引用 3 楼 didijiji 的回复:] [quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote][/quote] sudo apt-get install libfreetype6-dev 中的"-dev"什么意思?[/quote]
didijiji 2013-08-06
  • 打赏
  • 举报
回复
引用 4 楼 turingo 的回复:
库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
[quote=引用 3 楼 didijiji 的回复:] [quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote][/quote] sudo apt-get install libfreetype6-dev 中的"-dev"什么意思?
didijiji 2013-06-17
  • 打赏
  • 举报
回复
引用 6 楼 turingo 的回复:
用'*'和'-'等字符打印字模。 [quote=引用 5 楼 didijiji 的回复:] [quote=引用 4 楼 turingo 的回复:] 库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
[quote=引用 3 楼 didijiji 的回复:] [quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote][/quote] 你好,这个链接 http://blog.chinaunix.net/uid-22670933-id-1771615.html 其中的代码:

 for (; j < face->glyph->bitmap.rows + (font_size * 26) / 32 - face->glyph->bitmap_top; j++)
    {
        for (i = 1; i <= face->glyph->bitmap_left; i++)
        {
            printf("_");
        }

        for (k = 0; k < face->glyph->bitmap.pitch; k++)
        {
            temp = face->glyph->bitmap.buffer[face->glyph->bitmap.pitch*(j + face->glyph->bitmap_top - (font_size * 26) / 32) + k];
            for (counter = 0; counter < 8; counter++)
            {
 if (temp & 0x80)
                {
                    printf("*");
                }
                else
                {
                    printf("_");
                }
                temp <<= 1;
                i++;
                if (i > font_size)
                {
                    break;
                }
            }
        }

        for (; i <= font_size; i++)
        {
        // printf("|");

        }
        printf("\n");
    }

看不懂什么意思,望指点。[/quote][/quote] 你好,符号是打印子模我知道,j < face->glyph->bitmap.rows + (font_size * 26) / 32 - face->glyph->bitmap_to中的这一句 "(font_size * 26) / 32"我不知道为什么要这样算,为什么要乘以26,再除以32呢 还有“glyph->bitmap.pitch;”的值是根据什么来的,好像它会根据字体的大小而变化,但是都是为偶数,不会是基数,为什么?
图灵狗 2013-06-15
  • 打赏
  • 举报
回复
库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
引用 3 楼 didijiji 的回复:
[quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote]
didijiji 2013-06-15
  • 打赏
  • 举报
回复
引用 1 楼 adlay 的回复:
为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。
图灵狗 2013-06-15
  • 打赏
  • 举报
回复
用'*'和'-'等字符打印字模。
引用 5 楼 didijiji 的回复:
[quote=引用 4 楼 turingo 的回复:] 库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
[quote=引用 3 楼 didijiji 的回复:] [quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote][/quote] 你好,这个链接 http://blog.chinaunix.net/uid-22670933-id-1771615.html 其中的代码:

 for (; j < face->glyph->bitmap.rows + (font_size * 26) / 32 - face->glyph->bitmap_top; j++)
    {
        for (i = 1; i <= face->glyph->bitmap_left; i++)
        {
            printf("_");
        }

        for (k = 0; k < face->glyph->bitmap.pitch; k++)
        {
            temp = face->glyph->bitmap.buffer[face->glyph->bitmap.pitch*(j + face->glyph->bitmap_top - (font_size * 26) / 32) + k];
            for (counter = 0; counter < 8; counter++)
            {
 if (temp & 0x80)
                {
                    printf("*");
                }
                else
                {
                    printf("_");
                }
                temp <<= 1;
                i++;
                if (i > font_size)
                {
                    break;
                }
            }
        }

        for (; i <= font_size; i++)
        {
        // printf("|");

        }
        printf("\n");
    }

看不懂什么意思,望指点。[/quote]
didijiji 2013-06-15
  • 打赏
  • 举报
回复
引用 4 楼 turingo 的回复:
库要先安装才能去编译你引用它的源代码,有两种安装方法: 1、最简单的直接运行
sudo apt-get install libfreetype6-dev
进行安装; 2、另外也可以直接从源码进行安装:

./configure
sudo make install
[quote=引用 3 楼 didijiji 的回复:] [quote=引用 1 楼 adlay 的回复:] 为什么不用 ./configure make make install 来编译, 要单独编译一个文件?
你好,我是下载下来了freetype2,然后写了一个测试程序,类似于这样的: http://blog.chinaunix.net/uid-22670933-id-1771615.html 然后进行编译,但是就出现以上的问题。[/quote][/quote] 你好,这个链接 http://blog.chinaunix.net/uid-22670933-id-1771615.html 其中的代码:

 for (; j < face->glyph->bitmap.rows + (font_size * 26) / 32 - face->glyph->bitmap_top; j++)
    {
        for (i = 1; i <= face->glyph->bitmap_left; i++)
        {
            printf("_");
        }

        for (k = 0; k < face->glyph->bitmap.pitch; k++)
        {
            temp = face->glyph->bitmap.buffer[face->glyph->bitmap.pitch*(j + face->glyph->bitmap_top - (font_size * 26) / 32) + k];
            for (counter = 0; counter < 8; counter++)
            {
 if (temp & 0x80)
                {
                    printf("*");
                }
                else
                {
                    printf("_");
                }
                temp <<= 1;
                i++;
                if (i > font_size)
                {
                    break;
                }
            }
        }

        for (; i <= font_size; i++)
        {
        // printf("|");

        }
        printf("\n");
    }

看不懂什么意思,望指点。
jzp12 2013-06-14
  • 打赏
  • 举报
回复
能单独编译某个文件? 阅读一下里面的README文件,里面的详细的编译安装说明。
www_adintr_com 2013-06-14
  • 打赏
  • 举报
回复
为什么不用 ./configure make make install 来编译, 要单独编译一个文件?

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧