首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cygwin上找不到tchar.h

在cygwin上找不到tchar.h
EN

Stack Overflow用户
提问于 2010-11-13 04:23:18
回答 2查看 11.6K关注 0票数 5

我在windows7(32位)上运行最新的cygwin,并试图构建一个开源项目RtAudio (它目前不是在这个平台上构建的)。

我解决过的一个问题是#include <tchar.h>行上的一个错误。

我的构建行是:

代码语言:javascript
复制
g++ -O2 -Wall -Iinclude -DHAVE_GETTIMEOFDAY -D__WINDOWS_DS__ -c RtAudio.cpp -o RtAudio.o

错误是:

代码语言:javascript
复制
tchar.h: No such file or directory

如果我将/usr/ include /mingw (它包含tchar.h)添加到包含路径列表中,我会得到更多的错误。

我已经解决了这个问题,不使用LPCTSTR,只是重载了const char*const wchar_t*需要它的一个函数,这样我就可以避免包含tchar.h,但是有没有更好的方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-13 04:27:32

tchar.h是一个Windows头文件。如果该软件需要的不仅仅是基础知识,则必须将其移植到libiconv或ICU。

票数 5
EN

Stack Overflow用户

发布于 2010-11-13 16:43:26

如果你想为Cygwin构建它,你应该确保它使用Unix/Linux代码路径,而不是Windows路径。特别是,WIN32宏经常用来保护Windows代码,但这也是在Cygwin上定义的,所以您可能必须将任何这样的保护更改为#if defined(__WIN32__) && !defined(__CYGWIN__)

当然,另一种方法是为原生Windows构建它。在Cygwin中,您可以使用gcc-3 -mno-cygwin或最近添加到Cygwin发行版中的MinGW-w64交叉编译器来实现这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4168748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档