作者rul3nk41 (阿博)
看板C_and_CPP
標題[問題] Visual studio PVOID64錯誤訊息
時間Wed Apr 19 10:24:44 2017
開發平台(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
這樣就可以執行過了
雖然好像和本版事務無關,希望有好心人幫忙轉到相關版,也希望有遇到相同錯誤的人
可以順利解決。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.21.182
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1492568686.A.4D4.html
1F:→ Hazukashiine: 題外話 手動修改編譯器的標頭檔不是一件好事 除非你 04/19 10:40
2F:→ Hazukashiine: 很清楚自己在做什麼 不然會讓後續的維護增加困擾 04/19 10:40
感謝指點,因為現在只是要讓程式跑起來,所以使用這個方法,但是同樣的方法一個程
式過了另一個程式依舊錯誤,讓我百思不得其解!
3F:→ james732: stdafx是微軟提供by project的header吧? 04/19 11:32
4F:→ james732: 不過我也懷疑原PO是否知道自己在做什麼XD 04/19 11:32
我理解的是原本的錯誤是程式找不到PVOID64,增加的指令是去定義PVOID64,若小弟觀
念有錯請指正
5F:推 Sidney0503: 先切成英文版 然後google 04/19 18:58
6F:→ Sidney0503: 你所說的都是代表你不懂編譯環境這件事 04/19 18:58
※ 編輯: rul3nk41 (220.141.157.15), 04/28/2017 09:52:28