Вот инструкции по сборке Cairo / Cairomm с Visual C ++.
Требуется:
- Visual C ++ 2008 Express SP1 (теперь включает SDK)
- MSYS 1,0
Чтобы использовать инструменты командной строки VC ++, необходимо запустить командный файл 'vcvars32.bat'.
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vcvars32.bat
ZLib
Загрузить (и извлечь) zlib123.zip из http://www.zlib.net/
cd zlib123
nmake /f win32/Makefile.msc
dir
# zlib.lib is the static library
#
# zdll.lib is the import library for zlib1.dll
# zlib1.dll is the shared library
Libpng
Скачать (и извлечь) lpng1231.zip из http://www.libpng.org/pub/png/libpng.html
Компилятор VC ++ 9.0 выдает множество предупреждений «это может быть небезопасно». Игнорируй их;
это паника безопасности MS (код хороший).
cd lpng1231\lpng1231 # for some reason this is two stories deep
nmake /f ../../lpng1231.nmake ZLIB_PATH=../zlib123
dir
# libpng.lib is the static library
#
# dll is not being created
Pixman
Pixman является частью Каира, но отдельная загрузка.
Скачать (и извлечь) pixman-0.12.0.tar.gz из http://www.cairographics.org/releases/
Используйте MSYS для распаковки через 'tar -xvzf pixman * .tar.gz'
У Pixman и Cairo есть Makefiles для компилятора командной строки Visual C ++ (cl),
но они используют Gnu makefile и Unix-подобные инструменты (sed и т. д.). Это означает, что мы имеем
запустить make из MSYS.
Откройте командную строку с включенными инструментами командной строки VC ++ (попробуйте 'cl /?').
Превратите эту командную строку в приглашение MSYS, указав «C: \ MSYS \ 1.0 \ MSYS.BAT».
НЕ используйте значок MSYS, потому что тогда ваша подсказка теперь будет знать о VC ++.
Вы не можете запустить .bat файлы из MSYS.
Попробуйте, чтобы инструменты VC ++ работали здесь: 'cl -?'
Попробуйте, чтобы Gnu make также работал: 'make -v'.
Cool.
cd (use /d/... instead of D:)
cd pixman-0.12.0/pixman
make -f Makefile.win32
По умолчанию используется оптимизация MMX и SSE2, требующая нового
Процессор x86 (Pentium 4 или Pentium M или выше: http://fi.wikipedia.org/wiki/SSE2)
Есть несколько предупреждений, но, похоже, все получится.
ls release
# pixman-1.lib (static lib required by Cairo)
Оставайтесь в приглашении MSYS VC ++ для компиляции также Cairo.
каир
Скачать (и извлечь) cairo-1.6.4.tar.gz из http://www.cairographics.org/releases/
cd
cd cairo-1.6.4
Makefile.win32 здесь почти хорош, но имеет проводной путь Pixman.
Используйте измененный файл 'Makefile-cairo.win32':
make -f ../Makefile-cairo.win32 CFG=release \
PIXMAN_PATH=../../pixman-0.12.0 \
LIBPNG_PATH=../../lpng1231 \
ZLIB_PATH=../../zlib123
(написать все в одной строке, игнорируя обратную косую черту)
Там написано "нет правила для создания 'src / cairo-features.h'. Используйте подготовленное вручную
(в Каире> 1.6.4 может существовать «src / cairo-features-win32.h», который вы можете
просто переименуйте):
cp ../cairo-features.h src/
Повторите команду make (стрелка вверх запоминает ее).
ls src/release
#
# cairo-static.lib
cairomm (C ++ API)
Скачать (и извлечь) cairomm-1.6.4.tar.gz из http://www.cairographics.org/releases/
Существует проект Visual C ++ 2005, который мы можем использовать (через open & upgrade) на 2008 год.
cairomm-1.6.4\MSCV_Net2005\cairomm\cairomm.vcproj
Изменения, которые необходимо сделать:
C++/General/Additional Include Directories:
..\..\..\cairo-1.6.4\src (append to existing)
Linker/General/Additional library directories:
..\..\..\cairo-1.6.4\src\release
..\..\..\lpng1231\lpng1231
..\..\..\zlib123
Linker/Input/Additional dependencies:
cairo-static.lib libpng.lib zlib.lib msimg32.lib
- Оптимизация: быстрый код FPU
C++/Code generation/Floating point model
Fast
Щелкните правой кнопкой мыши на 'cairomm-1.0' и 'build'. Есть несколько предупреждений.
dir cairomm-1.6.4\MSVC_Net2005\cairomm\Release
#
# cairomm-1.0.lib
# cairomm-1.0.dll
# cairomm.def