从GDN打印的MSDN示例中丢失文件

时间:2014-01-09 12:39:11

标签: c++ winapi sdk msdn

我正在尝试学习使用GDI进行打印。

我搜索了MSDN资源,找到了this示例。

我喜欢将打印放在单独的帖子中的想法,使用GDI比使用XPS API更容易让我学习,所以我已经下载了示例。

尝试编译后(我使用Visual Studio 2008)我收到此错误:

fatal error C1083: Cannot open include file: 't2embapi.h': No such file or directory

根据this,我发现我不是唯一一个面临这个问题的人。

尽管如此,我仍尝试Google上述错误,并发现this表示我没有最新的SDK

我在C:\Program Files\Microsoft SDKs\Windows进行了搜索,找到了一个文件夹v6.0A,表示我没有安装最新的SDK

然而,here我找到了一个帖子,其中有相同问题的人没有通过下载最新的SDK来解决它(虽然该帖子的年份是2006年,但文件仍然缺失然后,下载SDK也无济于事 - 为什么现在应该改变什么?)。

我的问题是:

  1. 有没有办法获取此文件(如果我错误地下载最新的SDK请纠正我)?

  2. 我认为这个文件必须对字体做一些事情 - 是否有办法修改示例,所以我不必使用该文件?

  3. 感谢您光临本网站以及尝试提供帮助。

    最好的问候。

2 个答案:

答案 0 :(得分:2)

T2Embapi.h由Windows SDK提供,它包含用于处理嵌入式OpenType字体的字体嵌入服务库的声明。很明显,您使用的SDK版本太旧了,无法使用它。不完全确定需要哪个版本,我知道v6.0没有它,但v7.1没有。

由于它作为XPS样本开始,项目中存在一些邋.. T2Embapi实际上并不需要构建GDI样本。您只需从stdafx.h中删除#include即可。在项目的Release配置设置中也有些邋iness,从链接器的Additional Dependencies设置中删除T2embed.lib和XpsPrint.lib。

答案 1 :(得分:2)

你的问题是:

1。 有没有办法获得这个文件(如果我错误地下载最新的SDK请纠正我)?

  • 最新版本的Windows SDK适用于Windows 8.1。 Windows Software Development Kit (SDK) for Windows 8.1。但是,我认为't2embapi.h'已包含适用于Windows 7的Windows SDK,因为我在'C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Include'中找到了头文件。

2。 我认为这个文件必须对字体做一些事情 - 是否有办法修改示例,所以我不必使用该文件?

  • @Hans Passant已经回答了这个问题。