[問題] 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