我librsvg
在我的 C 文件中使用光栅化 SVG,但是一旦我包含rsvg.h
,我开始收到以下错误:
/usr/include/librsvg-2.0/librsvg/rsvg.h:29:25:致命错误:glib-object.h:没有这样的文件或目录
有谁知道它为什么会发生以及如何摆脱它?我尝试包含 glib 标头的路径,但随后它再次开始报告其他丢失的标头。
是否有任何其他开源库可用于在 C/C++ 中对 SVG 进行光栅化?
您可能希望使用pkg-config
来获取要添加的正确标志,如下所示:
g++ -c -o renderSVG.o renderSVG.cc $(pkg-config --cflags librsvg-2.0)
g++ -o renderSVG renderSVG.o $(pkg-config --libs librsvg-2.0)
尝试包括glib
:
gcc renderSVG.cc -I/usr/include/librsvg-2.0/librsvg/ -I/usr/include/glib-2.0
我在 Ubuntu Natty 上使用 autotools 时遇到了同样的问题。我在configure.ac中添加了
PKG_CHECK_MODULES(LIBRSVG, librsvg-2.0 >= 2.0,
[],
[AC_MSG_FAILURE([librsvg not found])]
)
并在 Makefile.am
myexe_CFLAGS=@LIBRSVG_CFLAGS@
myexe_LDFLAGS=@LIBRSVG_LIBS@