安装VS2008后,在winnt.h中出现编译错误

2024-02-17

我正在尝试将我们的项目从 VS2005 转移到 VS2008,并且在 MFC 项目上遇到此构建错误:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(236) : error C2146: syntax error : missing ';' before identifier 'PVOID64'

我认为这是 SDK 问题或包含目录排序问题,正如一些论坛所建议的那样,但这似乎不是问题。有没有人见过这个?当我试图追踪这个问题时,我应该寻找什么?

我还想知道是否需要增加项目 stdafx 中的 WINVER 预处理器标志。他们已经很老了:

#ifndef WINVER              
#define WINVER 0x0500       
#endif

#ifndef _WIN32_WINNT        
#define _WIN32_WINNT 0x0500
#endif                      

#ifndef _WIN32_WINDOWS  
#define _WIN32_WINDOWS 0x0510 
#endif

#ifndef _WIN32_IE           
#define _WIN32_IE 0x0500    
#endif

Thanks


这只发生在包含 DirectShow 包含文件的项目中。问题在于,Basetsd.h 是 DirectShow SDK 的一部分,它先于 Windows SDK 的 Basetsd.h 被包含。 DirectShow 版本没有定义 POINTER_64 (因为它很旧),然后导致了我报告的问题。

解决方案是在有问题的项目的添加包含设置中将包含目录添加到 SDK 中。如:

"$(WindowsSdkDir)\include"

这种情况是在我从 VS2005 升级到 VS2008 后开始发生的,因为之前 SDK include 指令的给出方式如下:

"$(VCInstallDir)PlatformSDK\include"

VS2008中不再是平台SDK的位置

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装VS2008后,在winnt.h中出现编译错误 的相关文章

随机推荐

  • 无法从 ArrayList 中删除[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions import java util c
  • .git/branches 文件夹的用途是什么?

    我一直认为 git branches目录用于遗留目的 并且 git 曾经使用该目录 但现在使用 git refs目录代替 这是真的 如果没有 那么该目录的目的是什么 因为我从未见过它被使用或引用 EDIT 我正在使用 git 版本 1 7
  • Cassandra静态列设计[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 静态列如何在 cassandra 内部存储 有人可以发布一个示例来讨论 cassandra 中静态列的
  • simd_float4x4 列

    我想平移平面而不旋转图像 出于某种原因 我的图像正在旋转 var translation matrix identity float4x4 translation colum 0 2 let transform simd mul curre
  • 合并排序初学者问题

    我现在有一个关于归并排序算法的问题 因为在原始算法中 将要排序的列表分为两个子列表并递归排序 现在我想将长度为 n 的列表分为 3 个长度为 n 3 的子列表 然后对这三个子列表进行递归排序 然后合并 怎么样 我只是简单地修改了原始算法 将
  • 如何在react-google-maps中弯曲折线?

    我是 React 新手 一直在使用 React google maps 包 我正在尝试弯曲连接两个地方的折线 在浏览完文档后 我尝试将曲线折线函数合并到 可编辑 属性下 这是弯曲折线的函数 var map var curvature 0 4
  • R: lapply 函数 - 跳过当前函数循环

    我正在对多个文件的列表使用 lapply 函数 有没有一种方法可以让我跳过当前文件上的函数而不返回任何内容 而直接跳到文件列表中的下一个文件 准确地说 我有一个 if 语句来检查条件 如果该语句返回 FALSE 我想跳到下一个文件 lapp
  • iTunes Connect:您的应用程序“*”(Apple ID:*)有一个或多个问题 - 电子邮件发送到整个用户列表、所有试飞用户,无论是什么应用程序

    今天 我通过 Xcode 向应用程序商店提交了一个新的测试应用程序 以便在 ItunesConnect 中查看 应用程序提交成功 但二进制文件在大约一分钟后被 ITC 拒绝 PNG 中具有 Alpha 通道的 AppIcons 存在问题 我
  • 如何在平面文件连接管理器上重新配置列信息?

    我有一个正在从平面文件读取数据的平面文件源 我们最近在此平面文件中添加了一个新列 平面文件数据被插入到数据库表中 为了适应目标组件中的新字段 我使用了ALTER TABLE语句将新列添加到表中 这是我所做的唯一改变 平面文件和目标组件之间的
  • 如何在sql server中获取分隔符之前的第一个值

    在其中一列中 我得到 2 个值 它们之间有一个分隔符 如何提取两个值 我有类似这个专栏的东西TRN02 is 115679 5757 我需要再次将分隔符之前和分隔符之后的值分成两个单独的列 有人可以帮我解决这个问题吗 您可以使用SUBSTR
  • 如何使用 Laravel 4.1 在字符串中查找#hashtags?

    我目前正在尝试过滤输入字符串以查找用户希望与其照片一起显示的单个主题标签 但是 我目前在数据库中插入的内容不正确 最好的情况是每个主题标签都保存在带有照片 ID 的新数据库行中 但是 我真的不知道该怎么做才能实现这一目标 hashtag n
  • 如何从带有 Array 属性的 Action 方法返回 Json?

    我正在尝试从操作方法返回一些 json 数据 我有一个员工对象 如下所示 public class Employee public int EmployeeID get set public string FirstName get set
  • JQuery UI 模式对话框使用 100% CPU

    当我在 IE8 中打开模态 JQuery 对话框时 我的 CPU 使用率达到 100 不 实际上是 50 但这是一个核心的 100 如果我破坏开发人员工具 似乎会触发很多调整大小事件 我不进行任何自愿调整大小 有其他人遇到过这个问题并且知道
  • 超时功能

    我想编写一个代码 要求输入用户名 但时间限制为 15 秒 如果用户超出限制并且无法输入名称 或任何字符串 则代码将终止并显示 超时 按摩 否则应保存名称并显示 谢谢 按摩 我曾尝试过这样的操作 但它是错误的并且不起作用 请给我一个解决方案
  • Xt 错误:如果使用默认显示,则无法打开显示

    Overview 我正在尝试让 XQuartz 在 OSX 上工作 这样我就可以通过 Docker 进行 X11 转发 我正在跟进此处的说明 https learning continuous deployment github io do
  • 如何将 Geodjango 与 Google Maps API 3 集成?

    我有一个包含多个字段的 geodjango 查询集 但只想使用user name and location 一个点字段 我想将其用作谷歌地图 API 3 中的标记 请耐心等待 因为我不懂 JavaScript 而且我有一系列问题 将此视为新
  • 复制工作表中的所有内容vba

    Copy wb Sheets wsSource Name Range A1 W79 Copy Paste Special wbTarget Sheets Sheet1 Range A1 W79 PasteSpecial xlValues w
  • 如何从堆栈历史记录中清除特定活动?

    假设我有一个应用程序 其中包含名为 A B C D 的活动 现在 考虑 A 已作为根活动启动 B 已从 A 启动 C 已从 B 启动 D 已从 C 启动 现在我在活动 D 中有一个名为 删除 的按钮 如果假设 我按下活动 D 中的 删除 按
  • 使用 Swift 从 Firebase 存储中检索图像

    我正在寻找从 Firebase 存储检索图像的开始到结束代码示例 只是为了显示图像 作为图像视图或表格 我看过这里的帖子和各种教程 总感觉好像漏掉了什么 如果我能看到全貌 我就能更好地理解这一点 所附代码是我当前尝试将 photo1 从本地
  • 安装VS2008后,在winnt.h中出现编译错误

    我正在尝试将我们的项目从 VS2005 转移到 VS2008 并且在 MFC 项目上遇到此构建错误 C Program Files Microsoft SDKs Windows v6 0A include winnt h 236 error