gpt4 book ai didi

gcc - 编译/链接到开罗图书馆

转载 作者:行者123 更新时间:2023-12-02 05:11:44 26 4
gpt4 key购买 nike

我正在尝试测试一些简单的 Cairo 程序,但我无法弄清楚如何包含源文件。我已经安装了 Cairo 库 - 这只是如何让 gcc 知道的问题...

  • 我已将 .h 文件(包括 cairo.h)安装在/usr/local/include/cairo
  • 我已将 .dylib 文件安装在/usr/local/lib 和/usr/local/lib/cairo

我还应该注意安装的任何其他组件吗? (我刚刚执行了“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 库包含在我的编译中?

谢谢

最佳答案

尝试编译

 gcc -Wall -g cairoTest.c -I/usr/local/include/cairo -L/usr/local/lib/ -lcairo -o cairoTest

(但您可能需要其他库,也许通过 $(pkg-config --cflags --libs cairo) 或类似的库)

你的文件应该以

开头
 #include  <cairo.h>

关于gcc - 编译/链接到开罗图书馆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com