c++ - 如何将 freetype2.6 库添加到 code::blocks

标签 c++ c codeblocks freetype2

我对代码块还很陌生,但在解决这个问题的过程中我学到了很多东西。不幸的是我还没有完全弄清楚。我需要将 Podofo-0.9.3 添加到我的 codeblocks 编译器中,但先决条件是 freetype2.6。我看了freetype的安装文件:

Instructions on how to build FreeType with your own build tool
==============================================================

See  the  file `CUSTOMIZE'  to  learn  how  to customize  FreeType  to
specific environments.


I. Standard procedure
---------------------

  * DISABLE PRE-COMPILED  HEADERS!  This is very  important for Visual
    C++, because FreeType uses lines like:

      #include FT_FREETYPE_H

    which are not correctly supported by this compiler while being ISO
    C compliant!

  * You  need  to  add  the directories  `freetype2/include'  to  your
    include path when compiling the library.

  * FreeType 2 is made of  several components; each of them is located
    in    a   subdirectory    of   `freetype2/src'.     For   example,
    `freetype2/src/truetype/' contains the TrueType font driver.

  * DO NOT COMPILE ALL C FILES!  Rather, compile the following ones.

    -- base components (required)

      src/base/ftsystem.c
      src/base/ftinit.c
      src/base/ftdebug.c

      src/base/ftbase.c

      src/base/ftbbox.c       -- recommended, see <ftbbox.h>
      src/base/ftglyph.c      -- recommended, see <ftglyph.h>

      src/base/ftbdf.c        -- optional, see <ftbdf.h>
      src/base/ftbitmap.c     -- optional, see <ftbitmap.h>
      src/base/ftcid.c        -- optional, see <ftcid.h>
      src/base/ftfntfmt.c     -- optional, see <ftfntfmt.h>
      src/base/ftfstype.c     -- optional
      src/base/ftgasp.c       -- optional, see <ftgasp.h>
      src/base/ftgxval.c      -- optional, see <ftgxval.h>
      src/base/ftlcdfil.c     -- optional, see <ftlcdfil.h>
      src/base/ftmm.c         -- optional, see <ftmm.h>
      src/base/ftotval.c      -- optional, see <ftotval.h>
      src/base/ftpatent.c     -- optional
      src/base/ftpfr.c        -- optional, see <ftpfr.h>
      src/base/ftstroke.c     -- optional, see <ftstroke.h>
      src/base/ftsynth.c      -- optional, see <ftsynth.h>
      src/base/fttype1.c      -- optional, see <t1tables.h>
      src/base/ftwinfnt.c     -- optional, see <ftwinfnt.h>

      src/base/ftmac.c        -- only on the Macintosh

    -- font drivers (optional; at least one is needed)

      src/bdf/bdf.c           -- BDF font driver
      src/cff/cff.c           -- CFF/OpenType font driver
      src/cid/type1cid.c      -- Type 1 CID-keyed font driver
      src/pcf/pcf.c           -- PCF font driver
      src/pfr/pfr.c           -- PFR/TrueDoc font driver
      src/sfnt/sfnt.c         -- SFNT files support
                                 (TrueType & OpenType)
      src/truetype/truetype.c -- TrueType font driver
      src/type1/type1.c       -- Type 1 font driver
      src/type42/type42.c     -- Type 42 font driver
      src/winfonts/winfnt.c   -- Windows FONT / FNT font driver

    -- rasterizers (optional; at least one is needed for vector
       formats)

      src/raster/raster.c     -- monochrome rasterizer
      src/smooth/smooth.c     -- anti-aliasing rasterizer

    -- auxiliary modules (optional)

      src/autofit/autofit.c   -- auto hinting module
      src/cache/ftcache.c     -- cache sub-system (in beta)
      src/gzip/ftgzip.c       -- support for compressed fonts (.gz)
      src/lzw/ftlzw.c         -- support for compressed fonts (.Z)
      src/bzip2/ftbzip2.c     -- support for compressed fonts (.bz2)
      src/gxvalid/gxvalid.c   -- TrueTypeGX/AAT table validation
      src/otvalid/otvalid.c   -- OpenType table validation
      src/psaux/psaux.c       -- PostScript Type 1 parsing
      src/pshinter/pshinter.c -- PS hinting module
      src/psnames/psnames.c   -- PostScript glyph names support


    Notes:

      `ftcache.c'  needs `ftglyph.c'
      `ftfstype.c' needs `fttype1.c'
      `ftglyph.c'  needs `ftbitmap.c'
      `ftstroke.c' needs `ftglyph.c'
      `ftsynth.c'  needs `ftbitmap.c'

      `cff.c'      needs `sfnt.c', `pshinter.c', and `psnames.c'
      `truetype.c' needs `sfnt.c' and `psnames.c'
      `type1.c'    needs `psaux.c' `pshinter.c', and `psnames.c'
      `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
      `type42.c'   needs `truetype.c'

      Please consult the central `include/config/ftoption.h'
      configuration file for details on additional libraries necessary
      for some optional features.


  Read the file `CUSTOMIZE' in case  you want to compile only a subset
  of  the  drivers,  renderers,   and  optional  modules;  a  detailed
  description of the various base  extension is given in the top-level
  file `modules.cfg'.

  You are done.  In case of problems, see the archives of the FreeType
  development mailing list.


II. Support for flat-directory compilation
------------------------------------------

  It is  possible to  put all  FreeType 2 source  files into  a single
  directory, with the *exception* of the `include' hierarchy.

  1. Copy all files in current directory

      cp freetype2/src/base/*.[hc] .
      cp freetype2/src/raster1/*.[hc] .
      cp freetype2/src/smooth/*.[hc] .
      etc.

  2. Compile sources

      cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
      cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
      cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
      cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
      etc.

    You don't  need to define  the FT_FLAT_COMPILATION macro  (as this
    was required in previous releases of FreeType 2).

----------------------------------------------------------------------

Copyright 2003-2015 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part of  the FreeType  project, and  may only  be used,
modified,  and distributed  under the  terms of  the  FreeType project
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
this file you  indicate that you have read  the license and understand
and accept it fully.


--- end of INSTALL.ANY ---

我已将“include”文件添加到我的编译器中,但我不确定是否需要链接到任何内容。当我尝试构建所需的文件时,我收到有关预编译头不存在的警告错误。因此,我按照安装说明(上面)的说明进行操作,并将它们注释掉,但是当我尝试构建文件时,存在 undefined variable ,不允许我构建文件。如果注释掉预编译头并不是指令中禁用预编译头的意思。那么如何禁用预编译头呢?

我想做的就是将 freetype2.6 添加到我的代码块编译器中。我以前从未这样做过,所以非常感谢任何帮助。谢谢。

最佳答案

首先:Code::Blocks 不是编译器。它只是一个 IDE - 一个更复杂的文本编辑器,但仍然只是一个文本编辑器。

我认为您应该从弄清楚您使用什么编译器和构建系统以及如何正确使用它们开始。

关于c++ - 如何将 freetype2.6 库添加到 code::blocks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704579/

相关文章:

c++ - 我想预先递增对变量的赋值(预先递增超过 1 的值)?

C 连续二维数组指针运算的泛型函数

c - "most common"C 中基本类型的 typedef

c++ - gtkmm header 中的冲突声明

c++ - Codeblocks 16.01 中警告被视为错误

c++ - 等式比较 std::weak_ptr

java - 停止 C 进程时出现弹出窗口

c - 如何使用 c 中的 CURL 库检查 FTP 连接?

linux - OpenGL 项目正在寻找 libcxts.so 库

c++ - 实现对命令行标志的支持的最可靠/可扩展的方法?