我正在Windows 7(32位)上运行最新的Cygwin,并尝试构建一个开源项目, rtaudio (目前尚未在此平台上构建)。

我解决的问题之一是线上的错误#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来解决问题,只是超载一个需要它的功能 const char*const wchar_t* 因此,我可以避免使用TCHAR.H,但是有更好的方法可以做到这一点吗?

有帮助吗?

解决方案

tchar.h 是Windows标题。如果不仅需要基础知识,该软件将必须移植到Libiconv或ICU。

其他提示

如果要为Cygwin构建此功能,则应确保它使用UNIX/Linux代码路径而不是Windows的代码路径。特别是 Win32 宏通常用于守卫Windows代码,但这也是在Cygwin上定义的,因此您可能必须将任何此类警卫更改为 #if defined(__WIN32__) && !defined(__CYGWIN__).

当然,另一种方法是为本机窗户构建此功能。在Cygwin中,您可以使用 gcc-3 -mno-cygwin 或最近添加到Cygwin发行版中的MINGW-W64交叉编译器。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top