我一直在尝试用win7上的minw32编译程序。每次我尝试编译时,都会收到有关sal.h缺失的错误。我已经下载了Visual Studio c ++ 2010(Express)并获得了Microsoft Win7 SDK。即使在这之后,我仍然没有找到头文件。有没有我可以从中下载的地方?
答案 0 :(得分:9)
它位于
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include" (VS 2008)
或
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include" (VS 2010)
或
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" (VS 2012)
当然,您可能希望适应本地设置路径。
答案 1 :(得分:2)
正如之前的回答所说,SAL是一个Visual Studio的东西。恕我直言,它是一项伟大的技术,可以帮助编译器理解代码,以便在您做错时可以发出警告。不幸的是,微软seems to own a patent on it so other compilers can't implement it☹。即使您从VS安装中获取sal.h
的副本,我也真诚地怀疑它是否适用于mingw,因为它会将宏转换为gcc / mingw无法理解的属性。
我将一个名为Salieri的小项目放在一起,这基本上是SAL标头的可移植版本,它只是定义了SAL宏。您不会获得SAL注释代码的任何好处,但它应该可以帮助您获得使用SAL在其他编译器上编译的代码。
很抱歉在这里宣传我自己的项目,但我认为这对很多人来说都很有用。