未解析的外部符号:__cairo_path_fixed_stroke_to_traps
Unresolved external symbol : __cairo_path_fixed_stroke_to_traps
我正在按照这个 post 来构建和安装 cairo。
但是,我遇到了以下错误:
Error 277 error LNK2019: unresolved external symbol __cairo_path_fixed_stroke_to_traps referenced in function __cairo_traps_compositor_stroke C:\gtk_compilation\cairo\cairo-1.12.18\msvc\vs10\cairo-traps-compositor.obj cairo
安装向导说我需要关闭整个程序优化
我确实使用了 /GL-
编译器标志,但仍然无法解决这个问题。
以下是 C:\gtk_compilation\cairo\cairo-1.12.18\msvc\vs10\cairo-traps-compositor.c
文件的摘录:
cairo_int_status_t (*func) (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
composite_traps_info_t info;
unsigned flags;
if (antialias == CAIRO_ANTIALIAS_BEST || antialias == CAIRO_ANTIALIAS_GOOD) {
func = _cairo_path_fixed_stroke_polygon_to_traps;
flags = 0;
} else {
func = _cairo_path_fixed_stroke_to_traps; /* line#2183 */
flags = need_bounded_clip (extents) & ~NEED_CLIP_SURFACE;
}
以上函数在cairoint.h中定义为:
cairo_private cairo_int_status_t
_cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
cairo_private cairo_int_status_t
_cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
有人可以为此提出解决方法吗?
根据@andlabs 的评论,我发现 cairo-path-stroke-traps.c 文件未包含在 Visual Studio 项目源中。添加了这个并重建了解决方案 - 瞧!!
我正在按照这个 post 来构建和安装 cairo。
但是,我遇到了以下错误:
Error 277 error LNK2019: unresolved external symbol __cairo_path_fixed_stroke_to_traps referenced in function __cairo_traps_compositor_stroke C:\gtk_compilation\cairo\cairo-1.12.18\msvc\vs10\cairo-traps-compositor.obj cairo
安装向导说我需要关闭整个程序优化
我确实使用了 /GL-
编译器标志,但仍然无法解决这个问题。
以下是 C:\gtk_compilation\cairo\cairo-1.12.18\msvc\vs10\cairo-traps-compositor.c
文件的摘录:
cairo_int_status_t (*func) (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
composite_traps_info_t info;
unsigned flags;
if (antialias == CAIRO_ANTIALIAS_BEST || antialias == CAIRO_ANTIALIAS_GOOD) {
func = _cairo_path_fixed_stroke_polygon_to_traps;
flags = 0;
} else {
func = _cairo_path_fixed_stroke_to_traps; /* line#2183 */
flags = need_bounded_clip (extents) & ~NEED_CLIP_SURFACE;
}
以上函数在cairoint.h中定义为:
cairo_private cairo_int_status_t
_cairo_path_fixed_stroke_to_traps (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
cairo_private cairo_int_status_t
_cairo_path_fixed_stroke_polygon_to_traps (const cairo_path_fixed_t *path,
const cairo_stroke_style_t *stroke_style,
const cairo_matrix_t *ctm,
const cairo_matrix_t *ctm_inverse,
double tolerance,
cairo_traps_t *traps);
有人可以为此提出解决方法吗?
根据@andlabs 的评论,我发现 cairo-path-stroke-traps.c 文件未包含在 Visual Studio 项目源中。添加了这个并重建了解决方案 - 瞧!!