簡體   English   中英

通過mingw編譯win32項目時缺少sal.h

[英]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;
}

環境:

  • Windows 7.0A SDK
  • VC 2010
  • MINGW
  • CDT / ECLIPSE。

謝謝。

不, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM