c - Manglende sal.h mens du kompliserer et win32-projekt via mingw

Indlæg af Hanne Mølgaard Plasc

Problem



Fejl besked:



  fatale fejl: sal.h: Ingen sådan fil eller mappe cstudy linje 11, ekstern
  placering: C: \ Programmer \ Microsoft
  SDKs \ Windows \ v7.0A \ Inkluder \ specstrings.h C/C ++ Problem.



Men når jeg tilføjer VC/inkluder i dette projekt, har jeg fået en masse fejlmeddelelser. Det forekommer VC/include/sal.h er ikke en standard header fil til GCC.


Kildekoden er meget enkel:


#include "windows.h"
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{

    return 0;
}


Miljø:



  • Windows 7.0A SDK

  • VC 2010

  • MinGW

  • CDT/ECLIPSE.



Tak.

Bedste reference


Nej, sal.h header er ikke del af GCC/MinGW, men du kan tilføje din VC/include/ som en inkluderende mappe til at formørke.


alternativ: flytte alle (!) requried overskrifter til din mingw eller projekt include bibliotek. Den fra MinGw er: <mingw path>/include).



  Alligevel. sal.h, hvis du installerer Windows SDK, så går det ikke
  være i SDK-mappen, men du bør finde det, hvis du vælger til
  installer kompilatoren og værktøjerne, der bliver installeret sammen med det.
  Dette skyldes, at sal.h er nødvendig i CRT overskrifterne såvel som
  Windows-overskrifter. Så du behøver at installere VS compilers og værktøjer
  sammen med SDK. Derefter finder du, at kompilatoren vil være
  installeret som standard under\% ProgramFiles\% \ Microsoft Visual Studio
  2010 \ VC og sal.h vil være inkluderet under den pågældende vej. På 64 bit
  systemer vil det være under\% ProgramFiles (x86)\% som standard.



kilde: http://social.msdn.microsoft.com/Forums/eu/windowssdk/thread/0e166050-99f1-436b-bd94-b39e2910f43d[6]


Se:



  • kan ikke finde sal.h (!)

  • Spørgsmål til Windows SDK-hovedfiler


Andre referencer 1


Jeg har lige kørt ind i dette problem. Jeg kan ikke synes at få sal.h header filen gennem MS Windows versionen af ​​mingw, men 'yum whatprovides \ */sal.h' på min Fedora Core 18 maskine hentet mingw-headers pakken. Jeg hentede kilden pakke (dvs. yumdownloader - source mingw-headers), åbnede .tar.gz filen i fil-rulle, greb sal.h filen og sæt den i/c/MinGW/inkluder på min MS Windows maskine. [7] [8]


Den samme pakke havde dsound.h, som var den næste manglende header-fil.


Jeg har aldrig forsøgt at bruge mingw under Fedora Core til at krydstille MS Windows apps, men måske er det tid ... :-)