Frage

Ich bin mit dem neuesten Cygwin unter Windows 7 (32-bit), und zu versuchen, ein Open-Source-Projekt zu erstellen, RTAudio (es zur Zeit nicht baut auf dieser Plattform).

Eines der Probleme, die ich gearbeitet habe um einen Fehler auf der Leitung #include <tchar.h>.

Meine Build Zeile ist:

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

Der Fehler ist:

tchar.h: No such file or directory

Wenn ich hinzufügen / usr / include / mingw (die tchar.h enthält) in die Liste der Include-Pfade, ich viel mehr Fehler bekommen.

Ich habe, um das Problem gearbeitet durch nicht LPCTSTR verwenden und Überlastung nur die eine Funktion, die es für const char* und const wchar_t* erfordert, damit ich tchar.h einschließlich vermeiden konnte, aber gibt es einen besseren Weg, dies zu tun?

War es hilfreich?

Lösung

tchar.h ist ein Windows-Header. Die Software muss auf libiconv oder ICU portiert werden, wenn sie mehr als nur die Grundlagen benötigt.

Andere Tipps

Wenn Sie dies für Cygwin bauen wollen, sollten Sie sicherstellen, dass es die Unix / Linux-Code-Pfade anstatt die Windows-diejenigen verwendet. Insbesondere sind die WIN32 Makro häufig verwendete Windows-Code zu schützen, aber auch die auf Cygwin definiert ist, so dass Sie keine solche Wachen #if defined(__WIN32__) && !defined(__CYGWIN__) ändern könnten müssen.

Der andere Weg, natürlich ist dies für native Windows zu bauen. Innerhalb von Cygwin, können Sie dies mit gcc-3 -mno-cygwin tun oder die MinGW-w64 Cross-Compiler, die kürzlich auf der Cygwin-Distribution hinzugefügt wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top