1. 程式人生 > >bcrypt.h:error C2485: 'align' : unrecognized extended attribute錯誤的一種可能的處理

bcrypt.h:error C2485: 'align' : unrecognized extended attribute錯誤的一種可能的處理

這是碰到的一個麻煩事。

其實這種麻煩遠不只一個,而是有一大堆,各種各樣的。比如wintrust.h報一大堆錯,你又沒法解決。題目這個屬於bcrypt.h檔案的問題,報四個錯。但這些起因都可以歸為一類,或者說目前我能知道的是一類,因為再有其他的,我沒處理過,估計也處理不了。

點VC6.0的Tools-->Options-->Directories,找到Show directories for:下拉列表,調到include那一堆裡面

調順序吧!

包括的那些include路徑的先後順序就是問題的所在。因為像wintrust.h/bcrypt.h這種東西一般人也沒有去改動過,沒理由出問題的。

給一個參考,我自己的。以前不是這個樣子,但出問題了,所以調啊調就調成了這個樣子。好歹也通過了。將就著看一下吧。

D:/Sdks/wtl80/include

D:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/INCLUDE

D:/Program Files/Microsoft Visual Studio/VC98/ATL/INCLUDE

D:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE

D:/Sdks/Microsoft SDKs/Windows/v6.0/Include

D:/SDKS/MICROSOFT SDK/INCLUDE

d:/SDKS/MICROSOFT SDKS/WINDOWS/V6.0/VC/INCLUDE

基本上

D:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/INCLUDE

D:/Program Files/Microsoft Visual Studio/VC98/ATL/INCLUDE

D:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE

這三個的順序貌似是沒有必要變動的,因為我一直也沒有動過他們。其他的,排列組合也不會有太多,真不行就挨個試試。

如果實在是解決不了這些。還有一個方面,那就是把SDK覆蓋一遍。深刻體會到了,微軟的東西不可理喻的地方太多了,我編譯Wintrust.h那次出問題就是拿別人那裡的SDK覆蓋一次了事的。本來覺得應該都是一樣的,但覆蓋一次的的確確問題消失了,囧歸囧,反正也算一種可用的選擇吧,說不準啥時候SDK裡內容改了而你不知道呢?