以下是使用 Visual C++ 构建 Cairo/Cairomm 的说明。
必需的:
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
从
http://www.zlib.net/ 下载(并解压)zlib123.zip
cd zlib123
nmake/f win32/Makefile.msc
目录
# zlib.lib 是静态库
#
# zdll.lib 是 zlib1.dll 的导入库
# zlib1.dll 是共享库
压缩包
从
http://www.libpng.org/pub/png/libpng.html 下载(并解压)lpng1231.zip
VC++ 9.0 编译器给出了大量“这可能不安全”的警告。别理他们;
这是 MS 安全 panic (代码很好)。
cd lpng1231\lpng1231 # 出于某种原因,这是两层楼深
nmake/f ../../lpng1231.nmake ZLIB_PATH=../zlib123
目录
# libpng.lib 是静态库
#
# dll 没有被创建
像素人
Pixman 是 Cairo 的一部分,但需要单独下载。
从
http://www.cairographics.org/releases/ 下载(并解压)pixman-0.12.0.tar.gz
使用 MSYS 通过 'tar -xvzf pixman*.tar.gz' 解压
Pixman 和 Cairo 都有用于 Visual C++ 命令行编译器 (cl) 的 Makefile,
但他们使用 Gnu makefile 和类 Unix 工具(sed 等)。这意味着我们有
从 MSYS 中运行 make。
在启用 VC++ 命令行工具的情况下打开命令提示符(尝试“cl/?”)。
通过“C:\MSYS\1.0\MSYS.BAT”将该命令提示符转换为 MSYS 提示符。
不要使用 MSYS 图标,因为这样您的提示现在就会知道 VC++。
您不能从 MSYS 运行 .bat 文件。
尝试从这里使用 VC++ 工具:'cl -?'
试试 Gnu make 也能工作:'make -v'。
凉爽的。
cd (使用/d/... 而不是 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 发布
# pixman-1.lib(开罗需要的静态库)
留在 VC++ 调味 MSYS 提示中,也可以编译 Cairo。
开罗
从
http://www.cairographics.org/releases/ 下载(并解压)cairo-1.6.4.tar.gz
光盘
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 源代码/发布
#
# cairo-static.lib
cairomm (C++ API)
从
http://www.cairographics.org/releases/ 下载(并解压)cairomm-1.6.4.tar.gz
我们可以在 2008 年使用(通过开放和升级)一个 Visual C++ 2005 项目。
cairomm-1.6.4\MSCV_Net2005\cairomm\cairomm.vcproj
需要做的改变:
将事件配置更改为“发布”
Cairomm-1.0 属性(带右键菜单)
C++/General/Additional Include 目录:
..\..\..\cairo-1.6.4\src(附加到现有)
Linker/General/Additional library 目录:
..\..\..\cairo-1.6.4\src\release
..\..\..\lpng1231\lpng1231
..\..\..\zlib123
链接器/输入/其他依赖项:
cairo-static.lib libpng.lib zlib.lib msimg32.lib
优化:快速FPU代码
C++/代码生成/浮点模型
快速地
右键单击“cairomm-1.0”和“build”。有一些警告。
dir cairomm-1.6.4\MSVC_Net2005\cairomm\Release
#
# cairomm-1.0.lib
# cairomm-1.0.dll
# cairomm.def
我是一名优秀的程序员,十分优秀!