Вот простой тест, чтобы начать писать код, использующий Cairo на MSYS2:
#include <cairo.h>
int main() {
cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 300, 300);
cairo_t *cr = cairo_create(surface);
cairo_set_line_width(cr, 10.0);
cairo_set_source_rgb(cr, 0, 0, 0);
cairo_move_to(cr, 10.0, 10.0);
cairo_line_to(cr, 100.0, 100.0);
cairo_stroke(cr);
cairo_destroy(cr);
cairo_surface_write_to_png(surface, "c.png");
cairo_surface_destroy(surface);
return 0;
}
Этот код создается и правильно выполняется на Darwin / MacPorts с помощью этой команды:
$ gcc c.c -o c `pkg-config cairo --libs --cflags`
Под Win8 / MSYS2 я установил пакет mingw-w64-x86_64-cairo
. Та же команда gcc
build завершается успешно, но запуск полученного исполняемого файла приводит к этой ошибке:
C:/msys64/path/to/c.exe: error while loading shared libraries: libcairo-2.dll: cannot open shared object file: No such file or directory
Я пытался найти libcairo-2.dll
внутри MSYS2, но ничего не вижу. Поиск в Google не приближает меня.
Я подозреваю, что это часть процесса обучения разработке MSYS2; что мне не хватает?
-lcairo
? pkg-config уже дает вам это. - person Ray Donnelly   schedule 25.11.2015