Question

Je suis en cours d'exécution la dernière Cygwin sur Windows 7 (32 bits), et d'essayer de construire un projet open-source, RTAudio (il ne construit pas actuellement sur cette plate-forme).

L'un des problèmes que j'ai CONTOURNÉS est une erreur sur la ligne #include <tchar.h>.

Ma ligne de construction est:

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

L'erreur est:

tchar.h: No such file or directory

Si j'ajouter / usr / include / MinGW (qui contient tchar.h) à la liste des inclure les chemins, je reçois beaucoup plus d'erreurs.

J'ai travaillé autour du problème en ne pas utiliser LPCTSTR et la surcharge simplement une fonction qu'il a besoin pour const char* et const wchar_t* pour que je puisse éviter d'inclure tchar.h, mais est-il une meilleure façon de le faire?

Était-ce utile?

La solution

tchar.h est un en-tête de Windows. Le logiciel devra être porté à libiconv ou aux soins intensifs si elle a besoin plus que les notions de base.

Autres conseils

Si vous voulez construire cela pour Cygwin, vous devez vous assurer qu'il utilise les chemins de code Unix / Linux plutôt que ceux de Windows. En particulier, le WIN32 macro est souvent utilisé pour garder le code de Windows, mais qui est définie sur Cygwin aussi, de sorte que vous pourriez avoir à modifier ces gardes à #if defined(__WIN32__) && !defined(__CYGWIN__).

L'autre façon est bien sûr de construire ce natif pour Windows. Au sein de Cygwin, vous pouvez le faire en utilisant gcc-3 -mno-cygwin ou le compilateur croisé MinGW-w64 qui a été récemment ajouté à la distro Cygwin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top