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里内容改了而你不知道呢?

你可能感兴趣的:(c,include,微软)