3
從PHP的到來,這是我用C/C++初體驗(這樣下去容易對我)。我遵循this tutorial使用FreeType庫編寫一個簡單的腳本。下面編譯得很好:FreeType庫和「未定義參考FT_Init_FreeType」
#include <ft2build.h>
#include FT_FREETYPE_H
main() {
FT_Library library;
FT_Face face;
}
這告訴我,FreeType庫對編譯器來說是隨時可用的。然而,一旦我嘗試使用任何方法,事情就會中斷。例如,採取下面的腳本:
#include <ft2build.h>
#include FT_FREETYPE_H
main() {
int error;
FT_Library library;
error = FT_Init_FreeType(&library);
if (error) {}
FT_Face face;
error = FT_New_Face(library, "/usr/share/fonts/truetype/arial.ttf", 0, &face);
if (error == FT_Err_Unknown_File_Format) {
printf("Font format is unsupported");
} else if (error) {
prinft("Font file is missing or corrupted");
}
}
這個腳本編譯時產生以下錯誤:
#gcc render.c -I/usr/include/freetype2
/tmp/cc95255i.o: In function `main':
render.c:(.text+0x10): undefined reference to `FT_Init_FreeType'
render.c:(.text+0x30): undefined reference to `FT_New_Face'
collect2: ld returned 1 exit status
任何想法?
它的工作!謝謝!我認爲必要的文件通過* includes *選項鍊接。我想我不太瞭解*庫*是什麼。我認爲這只是源代碼文件的集合,這就是爲什麼我認爲'-I/usr/include/freetype2'就足夠了。很多學習... –
@大衛很高興我可以得到一些幫助。是的,只是獲得一個程序來編譯和鏈接在C可以是一個考驗。解釋性語言變得如此受歡迎只有一個,但強大的原因! – Scooter