5

Windows 7 (32 ビット) で最新の cygwin を実行しており、オープンソース プロジェクトRtAudioをビルドしようとしています (現在、このプラットフォームではビルドされません)。

私が回避した問題の 1 つは、行のエラー #include <tchar.h>です。

私のビルドラインは次のとおりです。

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

エラーは次のとおりです。

tchar.h: No such file or directory

/usr/include/mingw (tchar.h を含む) をインクルード パスのリストに追加すると、さらに多くのエラーが発生します。

私は LPCTSTR を使用せず、それを必要とする 1 つの関数をオーバーロードするだけで問題をconst char*回避しconst wchar_t*たので、tchar.h を含めることを避けることができましたが、これを行うためのより良い方法はありますか?

4

2 に答える 2

5

tchar.hWindowsヘッダーです。基本以上のものが必要な場合は、ソフトウェアをlibiconvまたはICUに移植する必要があります。

于 2010-11-12T20:27:32.160 に答える
2

Cygwin用にこれをビルドする場合は、WindowsではなくUnix/Linuxコードパスを使用していることを確認する必要があります。特に、WIN32マクロはWindowsコードを保護するためによく使用されますが、これはCygwinでも定義されているため、そのような保護をに変更する必要がある場合があります#if defined(__WIN32__) && !defined(__CYGWIN__)

もちろん、もう1つの方法は、ネイティブWindows用にこれをビルドすることです。Cygwin内では、gcc-3 -mno-cygwinまたは最近Cygwinディストリビューションに追加されたMinGW-w64クロスコンパイラを使用してこれを行うことができます。

于 2010-11-13T08:43:25.980 に答える