Resolved Freetype2 Problems

Discussion in 'Mac Programming' started by Eudall, Jan 19, 2012.

  1. Eudall, Jan 19, 2012
    Last edited: Jan 20, 2012

    macrumors newbie

    Apr 26, 2011
    Hi All,

    I am currently looking at doing some work using the Freetype2 API. I downloaded the latest stable release (2.4.8) from After the download I untared the bzip tarball and followed the instructions within docs/INSTALL.UNIX to install:

       make -s
       sudo make -s install
    No errors were reported on the terminal, so I assumed everything was ok and wrote a simple test application following advice from the freetype2 tutorial ( The application compiles cleanly, however it fails to link. Please see output below:

    Undefined symbols for architecture x86_64:
      "_FT_Init_FreeType", referenced from:
          _ft_init in ccK9n142.o
    ld: symbol(s) not found for architecture x86_64
    collect2: ld returned 1 exit status
    I am compiling the application in the following way:
       gcc -o ftTest ftTest.c -I/usr/local/include/freetype2 -I/usr/local/include
    I have had a look on Google for this problem, but was unable to find anything useful. I have tried adding '-m32' to the compiler options, per a discussion on StackOverflow, but that produced the same error, but stating architecture i386.

    For reference, I am using Mac OS X 10.7.2.

    Any suggestions would be greatly appreciated.

  2. macrumors 68030

    Oct 19, 2011
    Ok, I'm not really an expert, but when I compile C/C++ programs, my workflow is

    gcc -c ftTest.c -o ftTest.o
    gcc ftTest.o -LIBRARIES -o ftTest
    replace -LIBRARIES with your above lib paths.
  3. thread starter macrumors newbie

    Apr 26, 2011

    Thanks for the fast response, the gcc line I am using provides the same result as yours, but you simply build objects and link these. I double checked using your suggestion, but this provides the same error.

    Thanks :)
  4. macrumors 65816


    Dec 16, 2010
    You've specified where to find the include files, that's good and is why you can compile. But you haven't told gcc to actually link to the freetype2 library. You'll need a -L option and -l (lowercase) option to successfully link. The -L option tells gcc where to find libraries. The -l option specifies a library to actually link against.

    Try this:
    gcc -I/usr/local/include/freetype2 -I/usr/local/include -L/usr/local/lib -lfreetype -o ftTest ftTest.c
  5. thread starter macrumors newbie

    Apr 26, 2011
    Damn, I knew I had forgot something. Thanks :D

Share This Page