PDA

View Full Version : Compiling SDL - Cairo - FreeType - HarfBuzz for Qt 4.8.4



elliwood
5th March 2014, 05:03
Hi everyone !

I have problem in compile example from https://github.com/anoek/ex-sdl-cairo-freetype-harfbuzz
i downloaded some library
cairo 1.10
FreeType 2.3.5
SDL 1.2
HarfBuzz-old ( i tried with HarfBuzz-ng but i cannot resolved it)

File ex-sdl-cairo-freetype-harfbuzz.pro

TEMPLATE = app
CONFIG += console
CONFIG -= qt

INCLUDEPATH += .
INCLUDEPATH += ./freetype2/include
INCLUDEPATH += ./freetype2/include/freetype2
#INCLUDEPATH += ./harfbuzz/src
#INCLUDEPATH += ./SDL2/include
#INCLUDEPATH += ./SDL2_image/include
INCLUDEPATH += ./SDL/include
INCLUDEPATH += ./SDL2_image/include
INCLUDEPATH += ./cairo/include
INCLUDEPATH += ./glib2/include
INCLUDEPATH += ./glib2/include/glib-2.0
INCLUDEPATH += ./glib2/lib/glib-2.0/include
INCLUDEPATH += ./fontconfig/include

SOURCES += \
ex-sdl-cairo-freetype-harfbuzz.cpp

LIBS += -L./SDL/lib/x86
LIBS += -lSDLmain -lSDL
#LIBS += -L./SDL2/lib/x86
#LIBS += -lSDL2main -lSDL2
#LIBS += -lSDL2 -lSDL2main
LIBS += -L./freetype2/lib
LIBS += -lfreetype
LIBS += -L./SDL2_image/lib/x86
LIBS += -lsdl2_image
LIBS += -L./cairo/lib
LIBS += -lcairo
#LIBS += -L./harfbuzz
#LIBS += -lharfbuzz
LIBS += -L./glib2/lib
LIBS += -lglib-2.0
LIBS += -L./fontconfig/lib
LIBS += -lfontconfig

QMAKE_LFLAGS_DEBUG += /NODEFAULTLIB:msvcrtd.lib
QMAKE_LFLAGS_RELEASE += /NODEFAULTLIB:msvcrt.lib



Compile output:
ex-sdl-cairo-freetype-harfbuzz.obj:-1: error: LNK2019: unresolved external symbol _hb_face_destroy referenced in function _SDL_main
ex-sdl-cairo-freetype-harfbuzz.obj:-1: error: LNK2019: unresolved external symbol _hb_font_destroy referenced in function _SDL_main
ex-sdl-cairo-freetype-harfbuzz.obj:-1: error: LNK2019: unresolved external symbol __imp__exit referenced in function _SDL_main
...
ex-sdl-cairo-freetype-harfbuzz.obj:-1: error: LNK2019: unresolved external symbol __ftol2_sse referenced in function _SDL_main
error: LNK2001: unresolved external symbol _mainCRTStartup

Please help me !
Thanks for advanced.