Вот инструкции по сборке Cairo/Cairomm с помощью Visual C++.
Необходимый:
- Visual C++ 2008 Express SP1 (теперь включает SDK)
- МСИС 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 является частью Cairo, но загружается отдельно.
Загрузите (и извлеките) 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'.
Прохладно.
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 ». Используйте подготовленный вручную (в Cairo> 1.6.4 может быть « src / cairo-features-win32.h », который вы можете просто переименовать) :
cp ../cairo-features.h src/
Повторите команду make (стрелка вверх запоминает ее).
ls src/release
#
# cairo-static.lib
кайромм (C++ API)
Загрузите (и извлеките) cairomm-1.6.4.tar.gz с http://www.cairographics.org/releases/
Существует проект Visual C++ 2005, который мы можем использовать (путем открытия и обновления) в 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» и «построить». Есть некоторые предупреждения.
dir cairomm-1.6.4\MSVC_Net2005\cairomm\Release
#
# cairomm-1.0.lib
# cairomm-1.0.dll
# cairomm.def
person
akauppi
schedule
19.09.2008