错误信息:
致命的错误:sal.h:没有这样的文件或目录cstudy行11,外部位置:C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Include \ specstrings.h C / C ++问题。
但是当我添加VC / include到这个项目时,我收到了很多错误信息。 看来VC / include / sal.h不是GCC的标准头文件。
源代码非常简单:
#include "windows.h" int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { return 0; }
环境:
谢谢。
不, sal.h
头文件不是 GCC / MinGW的一部分,但是你可以把你的VC/include/
作为include目录添加到eclipse中。
替代方法:将所有 (!)requried标题移动到您的mingw或项目include
目录。 MinGw中的一个是: <mingw path>/include
)。
无论如何。 sal.h,如果你安装了Windows SDK,那么它不会在SDK目录中,但是你应该发现如果你选择安装编译器和工具,它将随之一起安装。 这是因为在CRT标题和Windows标题中需要sal.h。 所以你需要安装VS编译器和工具以及SDK。 然后,您会发现编译器将被默认安装在%ProgramFiles%\ Microsoft Visual Studio 2010 \ VC下,sal.h将被包含在该路径下。 在64位系统上,默认情况下它将在%ProgramFiles(x86)%下。
来源: http : //social.msdn.microsoft.com/Forums/eu/windowssdk/thread/0e166050-99f1-436b-bd94-b39e2910f43d
看到:
我刚碰到这个问题。 我似乎无法通过mingw的MS Windows版本获取sal.h头文件,但是在我的Fedora Core 18机器上“yum whatprovides \ * / sal.h”引发了mingw-headers包。 我下载了源码包(例如yumdownloader –source mingw-headers),打开文件滚轮中的.tar.gz文件,抓住sal.h文件,并把它放在我的MS Windows上的/ c / MinGW / include中机。
同样的软件包有dsound.h,这是下一个丢失的头文件。
我从来没有尝试在Fedora Core下使用mingw来交叉编译MS Windows应用程序,但也许是时候… 🙂