错误讯息:
致命错误:sal.h:没有这样的文件或目录cstudy第11行,外部 location: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;
}
环境:
感谢。
答案 0 :(得分:1)
不,sal.h
标题是不是 GCC / MinGW的一部分,但是您可以将VC/include/
作为包含目录添加到eclipse中。
替代方案:将所有(!)所需的标头移至您的mingw或项目include
目录。 MinGw中的一个是:<mingw path>/include
)。
反正。 sal.h,如果您安装Windows SDK,那么它不会 在SDK目录中,但如果选择,则应该找到 安装它将随之安装的编译器和工具。 这是因为CRT标题中需要sal.h以及 Windows标头。所以你需要安装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
查看:强>
答案 1 :(得分:0)
我刚遇到这个问题。我似乎无法通过MS Windows版本的mingw获取sal.h头文件,但我的Fedora Core 18机器上的“yum whatprovides \ * / sal.h”提出了mingw-headers包。我下载了源包(即yumdownloader --source mingw-headers),在file-roller中打开了.tar.gz文件,抓住了sal.h文件,并将它放在我的MS Windows上的/ c / MinGW / include中机。
同一个包有dsound.h,这是下一个丢失的头文件。
我从未试图在Fedora Core下使用mingw来交叉编译MS Windows应用程序,但也许是时候......: - )