fero86
02-02-2010, 13:04
premessa: il g++ fa schifo. fine premessa. :asd:
sto scrivendo un programma in C++ per l'universitá che deve avere sorgente portabile compilabile sia su Windows che su Linux, e naturalmente sto usando MinGW (per adesso ancora non ci ho lavorato su Linux, é agli inizi).
dal momento che le performance del g++ in compilazione stavano diventando veramente improponibili (io mica posso stare ad aspettare 20 secondi ogni volta che modifico 2 bytes di sorgenti per fare uno straccio di prova :muro: ) ho deciso di usare gli headers precompilati, perció ho un file StdAfx.h (ho usato il nome microsoftiano :asd: che significa "standard application framework") che compilo col g++ in un file StdAfx.h.gch; nel compilarlo uso l'opzione "-x c++-header".
tutto bene, ma ho un unico fastidio: qualcuno degli headers dello "standard application framework", non so quale, mi causa il seguente warning:
"warning: anonymous variadic macros were introduced in C99"
la cosa strana é che me lo provoca solo in forma di PCH, se invece compilo normalmente non ho alcun warning!
non é che la cosa mi impedisca di procedere col lavoro, peró mi piacerebbe risolvere perché mi da fastidio vedere un warning per ogni mio file sorgente, anche perché mi nascondono i warning a cui invece dovrei fare caso.
questo é il codice di StdAfx.h della versione win32 del progetto (quello per Linux é simile):
#ifndef __STDAFX_H__
#define __STDAFX_H__
#include <cstdlib>
#include <cstring>
#include <cerrno>
#include <cassert>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <memory>
#include <streambuf>
using namespace std;
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x501
#endif
#ifdef UNICODE
#undef UNICODE
#endif
#include <windows.h>
#include <winsock2.h>
#include <shlobj.h>
#endif
sto scrivendo un programma in C++ per l'universitá che deve avere sorgente portabile compilabile sia su Windows che su Linux, e naturalmente sto usando MinGW (per adesso ancora non ci ho lavorato su Linux, é agli inizi).
dal momento che le performance del g++ in compilazione stavano diventando veramente improponibili (io mica posso stare ad aspettare 20 secondi ogni volta che modifico 2 bytes di sorgenti per fare uno straccio di prova :muro: ) ho deciso di usare gli headers precompilati, perció ho un file StdAfx.h (ho usato il nome microsoftiano :asd: che significa "standard application framework") che compilo col g++ in un file StdAfx.h.gch; nel compilarlo uso l'opzione "-x c++-header".
tutto bene, ma ho un unico fastidio: qualcuno degli headers dello "standard application framework", non so quale, mi causa il seguente warning:
"warning: anonymous variadic macros were introduced in C99"
la cosa strana é che me lo provoca solo in forma di PCH, se invece compilo normalmente non ho alcun warning!
non é che la cosa mi impedisca di procedere col lavoro, peró mi piacerebbe risolvere perché mi da fastidio vedere un warning per ogni mio file sorgente, anche perché mi nascondono i warning a cui invece dovrei fare caso.
questo é il codice di StdAfx.h della versione win32 del progetto (quello per Linux é simile):
#ifndef __STDAFX_H__
#define __STDAFX_H__
#include <cstdlib>
#include <cstring>
#include <cerrno>
#include <cassert>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <map>
#include <memory>
#include <streambuf>
using namespace std;
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x501
#endif
#ifdef UNICODE
#undef UNICODE
#endif
#include <windows.h>
#include <winsock2.h>
#include <shlobj.h>
#endif