Domanda

Sto utilizzando l'ultima Cygwin su Windows 7 (32 bit), e cercando di costruire un progetto open-source, RTAudio (attualmente non costruire su questa piattaforma).

Uno dei problemi con cui ho lavorato in giro è un errore sulla linea #include <tchar.h>.

La mia linea di compilazione è:

g++ -O2 -Wall -Iinclude -DHAVE_GETTIMEOFDAY -D__WINDOWS_DS__ -c RtAudio.cpp -o RtAudio.o

L'errore è:

tchar.h: No such file or directory

Se posso aggiungere / usr / include / mingw (che contiene tchar.h) all'elenco dei percorsi di inclusione, ho un sacco più errori.

Ho lavorato tutto il problema non utilizzando LPCTSTR, e solo sovraccaricare quella funzione che richiede per const char* e const wchar_t* così ho potuto evitare di includere tchar.h, ma c'è un modo migliore per fare questo?

È stato utile?

Soluzione

tchar.h è un colpo di testa di Windows. Il software dovrà essere portato su libiconv o terapia intensiva, se ha bisogno di più non solo le basi.

Altri suggerimenti

Se si vuole costruire questo per Cygwin, è necessario assicurarsi che utilizza i percorsi di codice Unix / Linux, piuttosto che a quelli di Windows. In particolare, la WIN32 macro viene spesso utilizzato per la guardia codice di Windows, ma che è definita su Cygwin troppo, quindi potrebbe essere necessario modificare tali guardie di #if defined(__WIN32__) && !defined(__CYGWIN__).

L'altro modo, naturalmente, è quello di costruire questo per Windows nativo. All'interno Cygwin, è possibile farlo utilizzando gcc-3 -mno-cygwin o il compilatore MinGW croce-W64 che è stato recentemente aggiunto alla distro Cygwin.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top