4
我想測試一些簡單的開羅程序,但我無法確定如何包含源文件。我已經安裝了開羅庫 - 它只是一個如何讓GCC知道的問題...編譯/鏈接到開羅圖書館
- 我有.h文件(包括cairo.h)安裝在/ usr /本地/包括/開羅
- 我已經安裝在/ usr/local/lib目錄中名爲.dylib文件和/ usr/local/lib目錄/開羅
是否有安裝我應該知道的任何其他成分? (我只是沒 'make install' 來安裝庫)
我想這樣進行編譯:
$ gcc cairoTest.c -I/usr/local/include/cairo -L/usr/local/lib/
我cairoTest.c文件開始了與:
include <cairo.h>
GCC是找到cairo.h,但它給出了以下錯誤消息。我認爲它沒有正確鏈接到.dylib文件,但我不確定。我仍然是編譯/鏈接的新手。
gcc cairoTest.c -I/usr/local/include/cairo -L/usr/local/lib/cairo
Undefined symbols for architecture x86_64:
"_cairo_image_surface_create", referenced from:
_main in ccVd9Pet.o
"_cairo_create", referenced from:
_main in ccVd9Pet.o
"_cairo_scale", referenced from:
_main in ccVd9Pet.o
"_cairo_set_line_width", referenced from:
_main in ccVd9Pet.o
"_cairo_set_source_rgb", referenced from:
_main in ccVd9Pet.o
"_cairo_rectangle", referenced from:
_main in ccVd9Pet.o
"_cairo_stroke", referenced from:
_main in ccVd9Pet.o
"_cairo_surface_write_to_png", referenced from:
_main in ccVd9Pet.o
"_cairo_destroy", referenced from:
_main in ccVd9Pet.o
"_cairo_surface_destroy", referenced from:
_main in ccVd9Pet.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [all] Error 1
我應該採取什麼不同的方式將Cairo庫包含在我的彙編中?
感謝,
謝謝!我的一位朋友向我解釋了pkg-config。這有幫助,所以我想出了正確的標誌,現在我正在編譯成功。另外,我在我的問題中忘記了#,但是我在我的文件中有這個。 我試圖給你的評論一個「up」,但它說我需要更高的聲譽。 – user1005954
-lcairo是我失蹤 –