[英]Missing sal.h while compling a win32 project via mingw
錯誤信息:
致命錯誤: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中。
替代方法:將所有 (!)所需的標題移動到您的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
看到:
我剛遇到這個問題。 我似乎無法通過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應用程序,但也許是時候...... :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.