[问题] Visual studio PVOID64错误讯息(已解决)

楼主: rul3nk41   2017-04-19 10:24:44
开发平台(Platform): (Ex: Win10, Linux, ...)
Visual studio 2013
问题(Question):
  小弟在一台电脑上已经在Visual sudio上成功执行过了二支程式
  现在被要求在另一台电脑上执行这两支程式并测试功能是否正常。
  在另一台电脑上程式刚汇入专案后发生了PVOID64的问题。
  错误讯息如下
  error C2146:语法错误:遗漏';'(在识别项'PVOID64'之前)C:\Program Files (x86)\
Windows Kits\8.1\include\um\winnt.h 340 1 DecklinkPlayback
  GOOGLE后找到解决方法在标头档 stdafx.h内添加指令#define POINTER_64 __ptr64
  但是问题又出现了,这个方法成功解决了一个程式,使其成功执行了,但是另一支程
式还是发生PVOID64的错误讯息。
  想请问有发生过这种问题的前辈们是如何解决的,或是可以指点小弟如何解决,谢谢
大家
错误结果(Wrong Output):
http://imgur.com/a/NZn7z
http://imgur.com/a/FjxNQ
http://imgur.com/a/4fE7p 这边虽然有指令但是是无效的所以之后我把这边注解掉
变成在上面宣告,结果如下
http://imgur.com/a/fSghg 反而错误讯息更多了
http://imgur.com/a/m1jnD 这张是成功的程式多加了指令后成功执行起来
解决了,跟当初2008版本讯息一样,只不过因为2013版本无法更改include的basetsd.h
档案顺序,所以我直接去DXSDK里面的basetsd.h档案里面添加指令
#define POINTER_64 __ptr64
这样就可以执行过了
虽然好像和本版事务无关,希望有好心人帮忙转到相关版,也希望有遇到相同错误的人
可以顺利解决。
作者: Hazukashiine (私は幸せです)   2017-04-19 10:40:00
题外话 手动修改编译器的标头档不是一件好事 除非你很清楚自己在做什么 不然会让后续的维护增加困扰
作者: james732 (好人超)   2017-04-19 11:32:00
stdafx是微软提供by project的header吧?不过我也怀疑原PO是否知道自己在做什么XD
作者: Sidney0503 (Sidney0503)   2017-04-19 18:58:00
先切成英文版 然后google你所说的都是代表你不懂编译环境这件事

Links booklink

Contact Us: admin [ a t ] ucptt.com