我在windows7(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,但是有没有更好的方法呢?
发布于 2010-11-13 04:27:32
tchar.h是一个Windows头文件。如果该软件需要的不仅仅是基础知识,则必须将其移植到libiconv或ICU。
发布于 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交叉编译器来实现这一点。
https://stackoverflow.com/questions/4168748
复制相似问题