QT CMarkUp(XMLParser) 错误。 iconv.h:没有这样的文件或目录
Posted
技术标签:
【中文标题】QT CMarkUp(XMLParser) 错误。 iconv.h:没有这样的文件或目录【英文标题】:QT CMarkUp(XMLParser) error . iconv.h: no such file or director 【发布时间】:2011-03-14 02:24:18 【问题描述】:大家好, 我陷入了一个错误很长时间,无法弄清楚它是什么。我正在使用 CMarkup 类 (xml Parser) 来解析在 VC++ 中完美运行的 XML 文件。当我将它移到 QT 中时,它开始抛出一些我很难修复的奇怪错误。它说
iconv.h: no such file or director
expected; before cd , etc.
我查看了 CMArkup 网站,上面写着
MARKUP_ICONV 模式当前是 基于 g++ 自动选择 在 GNUC 预定义的宏上。 同样,您可以关闭 iconv 使用 通过将 MARKUP_STDCONV 添加到您的 项目预处理器定义,或 在命令行上 -DMARKUP_STDCONV。 g++ main.cpp Markup.cpp MarkupTest.cpp -DMARKUP_STDCONV
我尝试了一切,但仍然存在问题。有没有人遇到过类似的问题可以帮我解决这个问题。
【问题讨论】:
我目前正在使用 Windows :) 澄清一下:图像显示了通过定义 MARKUP_WINCONV 解决的 iconv.h 问题,但仍然存在 fseeko 和 swprintf 问题,可以通过以下评论中的#if 定义更改来解决。感谢您的跟进。注意:CMarkup 11.5+ 不需要这些变通方法。 【参考方案1】:如果您想将定义添加到您的 Qt 项目中,请将此行添加到您的 .pro 文件中:
QMAKE_CXXFLAGS += -DMARKUP_STDCONV
【讨论】:
感谢您的回答。我使用了 Markup_winconv 解决了该错误。但他们抛出了一些额外的错误,如上面在标记中显示的错误。附上问题的屏幕截图。你有什么想法 其他错误的答案: fseeko 和 ftello 可以通过将 Markup.h:218 更改为 #if defined(GNUC_ZNIX) 来解决,这样它实际上会将 MCD_FSEEK 定义为 fseek等 swprintf 问题,在 Markup.h 中找到以下内容: #if defined(GNUC) #define MCD_SSZ(sz) sz,(sizeof(sz)/sizeof(MCD_CHAR)) 并更改GNUC 到 GNUC_ZNIX 如下: #if defined(GNUC_ZNIX) #define MCD_SSZ(sz) sz,(sizeof(sz)/sizeof(MCD_CHAR ))以上是关于QT CMarkUp(XMLParser) 错误。 iconv.h:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章